阴影半径并不能使阴影变模糊。

4
我正在尝试为我的盒子设置模糊阴影。这是我目前得到的结果。 enter image description here
shadowRadius 的文档说明如下:
SceneKit 通过将几何体的轮廓渲染到 2D 阴影贴图中,然后使用阴影贴图中多个加权样本来确定在渲染场景中每个像素处阴影的强度,从而产生具有软边缘的阴影。该属性控制阴影贴图采样的半径。较小的值会导致具有明显定义的像素化边缘的阴影,而较大的值则会导致模糊的阴影。
这是我的阴影设置代码:
func setupShadow(){
        spotLight.castsShadow = true
        spotLight.shadowRadius = 30000
        spotLight.shadowBias = 1
        spotLight.shadowColor = UIColor.blackColor()
    }

正如您所见,阴影半径设置为一个巨大的数字,但阴影仍然很锐利。实际上,如果更改shadowRadius,模糊度甚至不会改变。我做错了什么?

1个回答

6
你可能想要一个更小的半径(如 [1; 3])。
在iOS上,你还需要使用 shadowSampleCount 指定样本数量(因为iOS默认只有1个样本,意味着没有模糊效果)。 请注意,增加样本数会提高质量,但对性能有很大影响。

3
好的!针对未来的读者:一旦设置了shadowSampleCount,我还需要设置光源的zNear才能使阴影可见。在设置shadowSampleCount之前,这是不需要的。 - potato

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接