【问题标题】:SceneKit: zFar or Far Clipping value influences directional lights and their shadows?SceneKit:zFar 或 Far Clipping 值会影响定向光及其阴影?
【发布时间】:2016-12-07 02:13:34
【问题描述】:

希望有助于理解 Scene Kit 中的定向光和场景阴影。

class reference on SCNLight 表示 zFar 代表 the maximum distance between the light and a visible surface for casting shadows. 它进一步表明该值仅适用于聚光灯。

但是,在 Xcode 场景编辑器中,在 Attributes Inspector 下,有一个 Far Clipping 字段。更改此值会影响定向光投射的阴影,如下面的屏幕截图所示。

下面的场景是通过将定向光拖到场景中并将X Euler Angle 值更改为-60 并勾选“投射阴影”框来生成的。地板纹理取自 WWDC Fox 演示,

  • Far Clipping 是否与 zFar 相同?如果不是,有什么区别?

  • 既然定向光忽略了位置属性,为什么改变 Far Clipping 值会影响定向光产生的阴影?

  • 目标是照亮整个场景,并在节点上投射阴影,就像晴天下午 3 点的太阳一样。是否可以使用定向光来实现这一点?到目前为止,使用定向灯可以实现整个场景被照亮的外观,但不能像聚光灯那样控制阴影。

屏幕截图 #1:Far Clipping 值为 10。

屏幕截图 #2:Far Clipping 值为 30。

【问题讨论】:

    标签: ios xcode shadow scenekit scnlight


    【解决方案1】:

    尽管 Apple 的文档说,定向光的位置在投射阴影时非常重要。 zNearzFar 是与定向灯位置的距离。

    要移除您看到的伪影,您需要增加zFar 或将定向光移近地面。您看到的伪影是由于阴影部分距离定向光比zFar 更远。

    【讨论】:

    • 谢谢!这也是我们的经验。您是否看到 ios 10 上的定向灯问题?使用 ios 10 的用户几乎看不到定向灯的效果。适用于 ios 8/9。
    猜你喜欢
    • 2021-10-06
    • 2019-08-09
    • 2018-06-20
    • 1970-01-01
    • 1970-01-01
    • 2015-06-22
    • 2014-04-25
    • 2019-03-08
    • 2016-12-09
    相关资源
    最近更新 更多