three.js导入模型无阴影

three.js导入obj模型以及材质文件后,根据Three.js - 使用阴影效果 shadowMap 和 设置阴影分辨率,

添加:

1. 渲染器启用阴影 renderer.shadowMap.enabled = true;
2. 灯光产生阴影 light.castShadow = true;
3. 物体遮挡阴影 obj.castShadow = true;
4. 地面显示阴影 obj.receiveShadow = true;

发现并没有成功产生阴影效果。

接着按照Threejs之 .obj 模型投影,对导入的obj模型,

obj.receiveShadow = true;      // 这种方式没有效果,只适用于 geometry 模型
obj.castShadow = true;         // 这种方式没有效果,只适用于 geometry 模型

并不能使其的阴影设置有效,应当改为如下:

for(k in obj.children){
            obj.children[k].castShadow = true;
            obj.children[k].receiveShadow = true;
          }

成功产生阴影。

你可能感兴趣的:(Web)