【发布时间】:2015-12-07 14:10:06
【问题描述】:
我遇到了一个问题,THREE.SpotLight 正在投射阴影而没有对象在其截锥体中蜂鸣。
我设置了一个包含THREE.SpotLight 和平面网格的简单场景。聚光灯设置为投射阴影,平面设置为接收阴影。在地平面上有一个方形阴影可见,它是 SpotLights shadowCamera 的大小。这个场景是下图的右侧。
现在添加了一个立方体网格并将其定位在在初始相机视图空间之外。通过缩小,在立方体网格对相机可见之前一点,聚光灯阴影消失了。这在图像的左侧。
http://jsfiddle.net/L0rdzbej/157/
这发生在 Firefox 中,据我所知,Chrome 并非如此。这里发生了什么以及如何避免?
【问题讨论】:
-
设置框位置后拨打
box.updateMatrixWorld(),问题会消失吗? -
否:jsfiddle.net/L0rdzbej/158。盒子不是问题,当添加任何对象(例如 SpotLight-Helper)时,阴影也消失了。
-
我猜你看到的是盒子的影子。可以把盒子换成球体试试吗?
-
阴影独立于盒子,即使场景中没有其他网格(除了地平面),它也始终存在。该框只是作为示例网格存在,它甚至没有设置为投射阴影。但是,这是与
SphereGeometry相同的场景:jsfiddle.net/L0rdzbej/159 -
你可以试试 dev 分支吗?
标签: three.js