Unity产生阴影的几种方式详解
发表于2018-08-22
本篇文章给大家介绍的是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阴影映射这个就比较复杂了,与深度图有关。本篇就不多做阐述了。
来自:https://blog.csdn.net/Fenglele_Fans/article/details/80764624
来自:https://blog.csdn.net/Fenglele_Fans/article/details/80764624