我有一个对象正在使用THREE.objLoader加载,然后像这样创建一个网格:
在我的场景中,我添加了一个DirectionalLight,它可以工作并且我能够看到我的物体,但是它就像是一个环境光一样。没有任何面的明暗变化。
物体填充了颜色,但是没有应用任何照明效果。 如果有人能帮助我解决这个问题,将不胜感激 :)
我可能漏掉了什么? Jsfiddle链接: http://jsfiddle.net/5hcDs/
mesh = new THREE.SceneUtils.createMultiMaterialObject(
geometry,
[
new THREE.MeshBasicMaterial({color: 0xFEC1EA}),
new THREE.MeshBasicMaterial({
color: 0x999999,
wireframe: true,
transparent: true,
opacity: 0.85
})
]
);
在我的场景中,我添加了一个DirectionalLight,它可以工作并且我能够看到我的物体,但是它就像是一个环境光一样。没有任何面的明暗变化。
物体填充了颜色,但是没有应用任何照明效果。 如果有人能帮助我解决这个问题,将不胜感激 :)
我可能漏掉了什么? Jsfiddle链接: http://jsfiddle.net/5hcDs/
geometry.computeFaceNormals()
和geometry.computeVertexNormals()
。除此之外,我建议尝试使用MeshLambertMaterial
材质,而不是直接使用MeshPhongMaterial
。 - mrdoob