我正在尝试绘制一个使用 6 个不同图像作为纹理的立方体,每个面一个。我想用点光源照亮立方体。
我正在使用画布渲染器,因为这是 iOS 上可用的平台。
我知道兰伯特是要走的路。我使用MeshLambertMaterial
.
我设法让具有不同面的立方体进行渲染,但没有照明工作,请参阅此链接。
在这里我使用:
cube = new THREE.Mesh(geometry, new THREE.MeshFaceMaterial());
(您需要使用 Firefox 来查看,它在 Mac 上的 Safari 中看起来很可怕(但这是一个不同的问题),但在 iPhone 模拟器中很好。)
我也有一个版本可以在照明工作的地方工作,但是所有的脸都有相同的颜色,纹理图像似乎丢失了,请参阅此链接。
这里我用
cube = new THREE.Mesh(geometry, new THREE.MeshLambertMaterial());
不幸的是,我无法让纹理面和照明一起工作。
代码仅在这一行上有所不同。
我一定做错了什么,但我无法弄清楚它是什么,我所有的谷歌搜索都无济于事。如果有人能指出我正确的方向,我将不胜感激。
顺便说一句,感谢作者提供了这个出色的软件。