我试过了:
dae.castShadow = true;
dae.receiveShadow = true;
scene.add(dae);
//spotLight is defined already.
spotLight.castShadow = true;
renderer.shadowMapEnabled = true;
但模型仍然没有阴影?我做错了什么吗?请帮忙。
答案 0 :(得分:1)
three.js有变化(见three.js migration r51--r52):
用object.traverse替换SceneUtils.traverseHierarchy。
由于这个原因,现在为层次结构中的所有对象设置castShadow
和receiveShadow
的正确方法是:
dae.traverse(function(child) {
child.castShadow = true;
child.receiveShadow = true;
});
答案 1 :(得分:0)
您需要为层次结构中的所有对象设置castShadow
和receiveShadow
至true
。
THREE.SceneUtils.traverseHierarchy( dae, function ( child ) {
child.castShadow = true;
child.receiveShadow = true;
} );