【问题标题】:Three.js Spotlight casting shadow without an objectThree.js Spotlight 在没有对象的情况下投射阴影
【发布时间】: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


【解决方案1】:

阴影不再出现,所以我将其标记为已解决。

编辑:如果有人遇到同样的问题,这里是 github 上报告的问题的链接:https://github.com/mrdoob/three.js/issues/7750。由于维护者无法复制,因此没有引起太多关注。

【讨论】:

  • 你知道你做了什么来修复它吗?将来可能会帮助其他人解决类似的问题。
  • 我没有故意改变任何东西。今天刚刚用 Chrome/IE/FF 检查了 jsfiddle,它不再显示了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-21
  • 2013-08-03
  • 2014-05-18
  • 1970-01-01
  • 2017-12-12
  • 1970-01-01
相关资源
最近更新 更多