不知道你们在写的过程中有没有遇到过这种事情,明明我已经加上光源了,但是为什么就是没有效果呢,加的位置啥的也没有错误啊,这是为什么呢?
我也遇到过这样的问题一是光源没加对,有错误,二是光源正确,但是材质的问题,材质对光源不反应
我们加上光源
但是得到的效果依旧没有加上
这时候会有人问,是不是我们的光源写错了呢?其实并不是的,而是THREE.MeshBasicMaterial是最基本的材质,也是不会对光源产生反应的材质,所以才不会对光源有反应,这个时候,我们只需要吧THREE.MeshBasicMaterial换成THREE.MeshLambertMaterial就可以啦,然后就会出现光源了。
代码如下:
// 物体
var geometry = new THREE.BoxGeometry(1, 1, 1);
// MeshBasicMaterial 对光源无效
// var material = new THREE.MeshBasicMaterial({ color: 0x00ff00 });