【问题标题】:shadowRadius doesn't blur the shadowshadowRadius 不会模糊阴影
【发布时间】:2015-09-17 12:33:18
【问题描述】:

我正在尝试在我的盒子上设置一个模糊的阴影。这是我目前得到的。

shadowRadius 上的文档说。

SceneKit 通过渲染轮廓来生成边缘柔和的阴影 将几何图形转换为 2D 阴影贴图,然后使用多个加权样本 从阴影贴图中确定每个阴影的强度 渲染场景中的像素。该属性控制半径 阴影贴图采样。较低的数字会导致阴影明显 定义的像素化边缘;数字越大,阴影就越模糊。

这是我的影子设置代码

func setupShadow(){
        spotLight.castsShadow = true
        spotLight.shadowRadius = 30000
        spotLight.shadowBias = 1
        spotLight.shadowColor = UIColor.blackColor()
    }

如您所见,阴影半径设置为一个很大的数字,但阴影仍然前卫。事实上,即使 shadowRadius 改变,模糊度也不会改变。我做错了什么?

【问题讨论】:

    标签: ios shadow scenekit


    【解决方案1】:

    您可能想要更小的半径(如 [1; 3])。

    然后在 iOS 上,您还需要使用 shadowSampleCount 指定样本数量(因为默认情况下 iOS 上只有 1 个样本,这意味着没有模糊)。 请注意,增加样本数量会提高质量,但会对性能产生重大影响。

    【讨论】:

    • 太棒了!对于未来的读者:一旦设置了 shadowSampleCount,我还需要设置灯光的 zNear 以使阴影可见。在设置不需要的 shadowSampleCount 之前。
    猜你喜欢
    • 2017-11-17
    • 1970-01-01
    • 2020-05-06
    • 2019-01-10
    • 2012-11-13
    • 1970-01-01
    • 2011-08-24
    • 2013-12-16
    • 2017-01-23
    相关资源
    最近更新 更多