[SceneKit专题]12.Shadows阴影

说明

本系列文章是对<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
  • Behaviour(行为):决定光源是否投射阴影.
  • Color(颜色):决定阴影颜色,可以修改颜色和透明度等级.
  • Sample radius(样本半径):产生若干叠加的阴影贴图,值小则阴影锐利,值大则阴影边缘柔软.
  • Near/Far clipping(近/远裁剪):超出范围的任何物体将不会产生阴影.当有性能问题时应该设置
  • Scale(比例):决定产生阴影贴图的分辨率,scale为1将产生最高的分辨率,当scale越高产生的分辨率越低.
  • Sample count(样本数):该参数和Sample radius(样本半径)参数共同作用.数值越大阴影边缘越柔软.
  • Bias(斜纹):有时候阴影渲染会出现问题,常称为shadow acne.可以用该属性来修复错误.
QQ20170411-213711@2x.png
QQ20170411-213724@2x.png

Spot shadows点光源阴影

QQ20170411-213847@2x.png

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

QQ20170411-214006@2x.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在SceneKit 中并不是所有的光都能产生阴影, 只有spot和directional能产生照射的阴影. 两个示...
    冰三尺阅读 5,016评论 0 1
  • 1.Introduction - 介绍 We challenged ourselves to create a v...
    两个朋友指甲阅读 5,248评论 0 5
  • 3月的最后一天,还是和往常一样,略微不同的是醒的略略早了那么一个小时,刷了一个小时的微博,想把夜间流量刷刷完。 早...
    二宫先生的太太阅读 1,261评论 0 0
  • 产生一个文本,一般要基于一个已有的训练集,或者说是种子,来告诉程序词汇的分布以及用词习惯,下面是一个最为基础的文本...
    Ryan_Yang阅读 5,341评论 0 0
  • 眼圈里已挥不住的黑色素 还来不及念的那首唐诗 携着弯弯曲线的洁白台灯撒下的静的流淌 在妳的聆听里逐逐渐渐的明朗和清...
    哆嘞阅读 2,761评论 0 0