3

我试过这个:

dae.castShadow = true;
dae.receiveShadow = true;
scene.add(dae);

//spotLight is defined already.
spotLight.castShadow = true;

renderer.shadowMapEnabled = true;

但是模型仍然没有阴影?我做错什么了吗?请帮忙。

4

2 回答 2

2

three.js 发生了变化(参见three.js 迁移 r51--r52):

将 SceneUtils.traverseHierarchy 替换为 object.traverse。

因此,现在设置层次结构中所有对象的正确方法castShadowreceiveShadow

dae.traverse(function(child) {
    child.castShadow = true;
    child.receiveShadow = true;
});
于 2016-06-05T21:26:47.333 回答
0

您需要为层次结构中的所有对象设置castShadowreceiveShadowto true

THREE.SceneUtils.traverseHierarchy( dae, function ( child ) {

    child.castShadow = true;
    child.receiveShadow = true;

} );
于 2012-05-26T21:31:01.870 回答