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