2015-06-30 71 views
1

我试图在我的盒子上设置一个模糊的阴影。这是我到目前为止。 enter image description hereshadowRadius不模糊阴影

shadowRadius上的文档说。

SceneKit通过从阴影地图渲染 几何图形的轮廓成2D阴影图,然后使用若干加权的采样 产生软边缘的阴影,以确定阴影的强度在每个 像素在渲染场景。该属性控制阴影图抽样的半径。较小的数字会导致阴影边界锐化,像素化边缘;更高的数字会导致模糊的阴影。

这是我的影子设置代码

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

正如你所看到的,阴影半径设置为一个庞大的数字,但仍然影子心急火燎。事实上,如果shadowRadius改变,模糊度甚至不会改变。我究竟做错了什么?

回答

2

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

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

+0

太棒了!对于未来的读者:一旦设置了shadowSampleCount,我还需要设置zNear以使阴影可见。在设置不需要的shadowSampleCount之前。 – brumbrum