ARKITSceneKit学习SceneKit

[SceneKit专题]12.Shadows阴影

2017-04-09  本文已影响265人  苹果API搬运工

说明

本系列文章是对<3D Apple Games by Tutorials>一书的学习记录和体会此书对应的代码地址

SceneKit系列文章目录

不是所有灯光类型都有阴影,只有spot(点光源)和directional(方向光源)才有投射阴影能力.


QQ20170409-142240@2x.png

Directional shadows方向光源阴影

方向光源在投射阴影时比较奇怪,因为节点的scale属性在很大程度上决定了阴影的范围.方向光源是平行光,所以阴影大小和光源距离无关,这就是为什么要用scale属性来控制下投影的可见范围.
如果你使用了方向光源,但是却看不到阴影,很可能你需要调整节点的scale属性.

QQ20170411-203954@2x.png

下面的图片就展示出调整方向光源节点的scale属性对阴影的影响:


QQ20170411-204017@2x.png

当scale设置为1时,可以清晰看到方块阴影,当增加为2时,能看到圆形的身体,但是仍然没有手,鼻子和头.最终增加到5时,才能看到所有的身体部分,甚至是尖尖的鼻子.

QQ20170411-205426@2x.png QQ20170411-213711@2x.png QQ20170411-213724@2x.png

Spot shadows点光源阴影

QQ20170411-213847@2x.png

其中各个属性的作用同方向光源阴影一样.

QQ20170411-214006@2x.png
上一篇下一篇

猜你喜欢

热点阅读