2012-09-13 46 views
2

我正在寻找从图像(从数据库或任何地方)拉出图像并将其叠加到THREE.Mesh(three.js)上的能力,基于一些用户输入。我想,我需要做的是以下几点:添加材料/纹理到现有的THREE.Mesh(three.js)

1)从图像创建具有质感的一种新型材料,并加入到几何

2)确定在其上的图像将被覆盖

面孔3)对于每个顶点,确定和分配的图像

4)变更materialIndex每个面新材料

我只是不确定这是否会工作,如何进行正确的UV坐标assignme nts到现有的网格。任何帮助将不胜感激。

UPDATE

任何人都知道这是可能的/使用其他库更容易,如SceneJS?

+0

如果您显示您尝试过的内容(最好是作为实例或jsfiddle),您将获得更多帮助。 – WestLangley

+0

这里是一个jsfiddle试图做我上面概述的http://jsfiddle.net/YnuaZ/2/ –

+0

我现在想知道如果我能够为整个网格创建一个透明的纹理,然后“绘制“适当的时候将图像贴到纹理上。 –

回答

2

您不必创建新材质,仅创建新纹理并替换材质。然后你需要设置你需要的顶点的UV。然后将geometry.uvsNeedUpdate设置为true

+0

图像数量和每个人将覆盖的面数量是未知的。我从整个模型的一个材质开始,然后需要纹理模型的部分,因为图像是从我的服务器(每个用户请求)拉出的。这就是为什么我需要即时添加材料(我认为),除非我可以为材质设置多个纹理。 –

+0

是否有最大数量的图像? – mrdoob

+0

没有最大值。 –