kan*_*gax 8 textures shadow three.js
我觉得我在这里缺少一些简单的东西.
我使用了@WestLangley的JSFiddle,它演示了如何将阴影从一个物体投射到一个平面上.
当飞机充满颜色时,一切都按预期工作:
var groundMaterial = new THREE.MeshLambertMaterial({
color: 0xFF0000
});
Run Code Online (Sandbox Code Playgroud)

然后我改为使用纹理代替:
var groundMaterial = new THREE.MeshLambertMaterial({
// color: 0xFF0000,
map: texture
});
Run Code Online (Sandbox Code Playgroud)
突然,阴影消失了:

这发生在MeshPhongMaterial和MeshLambertMaterial.
请注意,相机位置和阴影配置均未更改.一切都保持不变,但阴影消失了.
纹理应该被"告知"接收光还是其他东西?
在r61,r66,r67上测试过.
这是一个相当老的问题,但为了提供一些结论,我想指出,存在此问题的版本已经得到修复。小提琴使用 Three.js r66,但最新版本(截至撰写本文时为 r107)不再存在此问题: