ShadowGun Demo学习(非技术向)

主要针对拿来主义,并对一些使用范围广的shader进行研究。虽然是4,5年前的demo,但还是有学习价值的

1.GodRays

MADFINGER/Transparent/GodRays

传统的上帝之光效果,有顶点变形,适用范围非常广。

另外维京村落demo中,还有一个粒子用的近处消隐效果:http://www.cnblogs.com/hont/p/5705240.html

2.Blinking GodRays

MADFINGER/Transparent/Blinking GodRays

非顶点变形的近处消隐shader,并且支持过远隐藏

3.Blinking GodRays Billboarded

MADFINGER/Transparent/Blinking GodRays Billboarded

注意培培养皿周围的发光,就是使用带有Billboarded效果的god ray shader制作的

不错的移动平台自发光做法

而培养皿中的气泡流动是双层的uv流动Shader,用的是Scroll 2 Layers Multiplicative No Lightmap Sine

流动倒是好实现,这里不做介绍了

另外推荐一个效率更高的Billboard

https://en.wikibooks.org/wiki/Cg_Programming/Unity/Billboards

4.Lightmap + Wind

MADFINGER/Environment/Lightmap + Wind

旗帜飘扬的效果,也是使用范围非常广,很多shadowGun学习的文章都有介绍过,运行效率也很高

5.Anim texture

MADFINGER/FX/Anim texture

用来做阵列图播放,ShadowGun Demo中的海面焦散就是这么做的

该shader可以做到切换时的淡出淡入,比起直接切换要自然的多

也是值得收藏的一个shader

6.其他

天上的云和飞机的烟尘都是双层的uv偏移shader,容易实现不做介绍

角色使用了重写的brdf shader。brdf是双向反射分布函数,这里重写brdf是指另外实现了一个光照反射的算法

扩展阅读:https://www.zhihu.com/question/26389307/answer/33508392

引擎都有各自的brdf实现,并且还有bndf种类型,反射reflection只是其中一种,该shader使用的情况较少,不多做赘述。

原文地址:https://www.cnblogs.com/hont/p/5766630.html