我在使用带有Three.js的Mesh Lambert材料时遇到问题,我有一个不同高度点的平面,但是当试图应用光时,较高点是看起来较暗的点,它应该是另一种方式,我的代码如下所示:
var geometry = new THREE.PlaneBufferGeometry(7500, 7500, worldWidth - 1, worldDepth -1);
geometry.computeFaceNormals();
geometry.applyMatrix(new THREE.Matrix4().makeRotationX(- Math.PI / 2));
texture = THREE.ImageUtils.loadTexture('img/grass.png');
mesh = new THREE.Mesh(geometry, new THREE.MeshLambertMaterial({ map: texture }));
scene.add(mesh);
var pointLight = new THREE.PointLight(0xffffff, 100, 0);
pointLight.position.set(5, 50, 5);
scene.add(pointLight);
结果如下:
提前非常感谢你。
答案 0 :(得分:0)
致电
THREE.PointLight(0xffffff, 100, 0);
当正常范围为0.0 - 1.0时,您指定强度为100,因此您的场景会过亮。