2
我试图制作一个3D六角形网格,我想实施一场战争迷雾。忽略Three.js中的光源
这里是什么样的电网看起来像此刻的样本:
我已经照明设置如下:
// hemisphere light
var hemisphereLight = new THREE.HemisphereLight(0xffffff, 0.3);
scene.add(hemisphereLight);
// point light
var pointLight = new THREE.PointLight(0xffffff, 0.7);
pointLight.position = camera.position;
pointLight.rotation.y = Math.PI/2;
scene.add(pointLight);
我试图做的是使在战争迷雾中的瓦片不响应pointLight
,这样他们只有低强度hemisphereLight
。我似乎无法找到办法做到这一点。我不能更改瓷砖使用MeshBasicMaterial
,它不响应任何灯光,因为我想让“战争之雾”瓷砖具有来自hemisphereLight
的照明。
对于实施不同的战争迷雾的建议,我很乐意接受。
UPDATE:
我能够得到它使用自定义着色器来工作。
你有一个可以帮助我的例子的链接吗?我没有使用过“ShaderMaterial”,我无法找到帮助我的例子。 –
着色器的简单示例,但未访问three.js灯光:http://jsfiddle.net/XGWGn/。为了你的目的,这可能是好的 - 你可以在着色器中自己的假光中进行破解。 Unfortunatley,访问场景灯的three.js例子要复杂得多,而且你只需要付出很多努力去理解它们。 – WestLangley
我终于能够得到它的工作,感谢您的帮助! http://i.imgur.com/qwNtzHo.jpg –