unity产生阴影的几种方式

这里说一下unity中产生阴影的几种常见方式,性能不一,效果不一;

1:贴图方式 在模型下方贴一张阴影贴图作为子物体,因为不涉及光照,故其性能消耗几乎可以省略。但是当模型要投影到水平面不一样高的地面上时,就会暴露了。

2:projector投影 在unity中导入effects资源包,其中包含投影shader和材质球还有预制体,可以直接使用。效率上高于实时光,并且投影可以在不同高度的平面上,但是因为投影的实际上是一张图片,并不能非常好的体现模型的影子。效果如下:
这里写图片描述
这里写图片描述

3:spotlight 聚光灯,实时光,效果上没啥问题,性能有待优化(其他实时光也OK)
这里写图片描述

4:renderTexture+projector 伪实时阴影,一种不错的解决方案。基本原理就是新建一个camera,然后只摄取要投影的模型到镜头中,然后将新建的renderTexture放到camera的targetTexture中,然后将这一rendertexture放入projector的shader中
这里写图片描述
这里写图片描述
这里写图片描述
这里需要注意的是projector材质球中的材质属性中的wrapMode要由repeat改成clamp。不然就会如下图:
这里写图片描述
这里写图片描述

5:shadowMap 阴影映射 这个就比较复杂了,与深度图有关。暂时先放一下,如果后续自己想更近一步,再来研究

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值