【问题标题】:SceneKit: Remove darkened areas that occur outside a spotlight's cone?SceneKit:删除聚光灯锥体外出现的变暗区域?
【发布时间】:2016-12-03 13:17:24
【问题描述】:

目标是模拟类似于这些图像的照明:

很少有关于 SceneKit 照明的文档,以及不同的照明类型如何相互交互(例如,如果您将聚光灯添加到已经存在环境光的场景中会发生什么),因此通过痛苦的反复试验,我们已经走到了这一步:

如场景图中所示,有环境光和聚光灯。 (全向光和定向光被隐藏了。)光斑锥体内的阴影和光照都很好,但是光锥之外的一切都是黑色的。

问题 1:你是怎么做到的,所以光点圆锥外的区域不是黑色的?场景中有一个环境光(不是默认的,是显式添加的),所以不应该使圆锥体之外的区域变亮吗?

问题 2:理想情况下,如果在圆锥内同时保留阴影,整个场景将是 litas。这可能吗?将光点移动到较高的 Y 值(例如 1000)会点亮整个场景,但冷色阴影会消失。

问题 3:在下面的屏幕截图中,启用泛光灯会洗掉光斑的锥体。这是预期的行为吗?怎样才能将灯光组合在一起,以免它们相互冲刷掉?

屏幕截图 2(启用泛光灯会消除聚光灯):

【问题讨论】:

    标签: ios xcode scenekit metal sceneeditor


    【解决方案1】:

    您可以在环境类型和低强度的场景中添加额外的光源。

    这是 swift 4 示例:

    let light = SCNLight()
    light.type = .ambient
    let node = SCNNode()
    node.light = alight
    self.scene.rootNode.addChildNode(node)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-21
      • 2016-12-02
      • 1970-01-01
      • 1970-01-01
      • 2013-12-27
      • 1970-01-01
      • 2019-08-09
      • 1970-01-01
      相关资源
      最近更新 更多