2015-05-04 129 views
0

我用Three.js使用Mesh Lambert材質時出現了一個問題,我有一個有不同高度點的平面,但是當試圖使用光線時,高點是那些看起來較暗的點,它應該是反過來,我的代碼如下所示: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); 

而結果如下所示:

enter image description here

非常感謝你提前。

+0

你有沒有試過改變你的光的位置? – 2pha

回答

0

在您的來電

THREE.PointLight(0xffffff, 100, 0); 

您指定強度爲100時的正常範圍爲0.0 - 1.0讓你的場景出來亮過。

+0

我試圖降低強度,但場景變爲完全黑暗 – erosespinola

+0

您確定光線不在表面的另一側嗎? – gaitat

+0

是解決了嗎? – gaitat

相關問題