首页 > 解决方案 > SceneKit 阴影电锯像粗糙的边缘

问题描述

我的 SceneKit 阴影有类似粗糙/像素化边缘的电锯。我只是使用简单设置的默认值:

  func addLightNode() -> SCNNode {
    let light = SCNLight()
    light.type = .directional
    light.castsShadow = true
    light.shadowColor = UIColor.black.copy(alpha: 0.5)
    let node = SCNNode()
    node.light = light
    node.eulerAngles = light_euler_angles
    
    rootNode.addChildNode(node)
    return node
  }

这是结果:

在此处输入图像描述

我试图增加 shadowBias 但结果相同。为了防止这种情况,我应该设置什么其他属性?

标签: iosscenekit

解决方案


尝试增加 shadowSampleCount:

    light.shadowSampleCount = 8

iOS 的默认值为 1,将其增加到 8 或 16 就足够了


推荐阅读