Unity Shader专栏说明

2021-02-24  本文已影响0人  ShawnWeasley

简书不让放链接,说我营销,不然文章不显示,这里把所有链接改成了自行搜索


shader基础学了,能看懂shader结构了,懂什么叫渲染管线流程了,会写一些简单的shader代码了,看到简单的shader能修修改改了。(这个网上的教程基本都讲的这些,推荐可以看B站直接搜shader,有一个《shader基础入门全解释》,里面有一些代码比较老,可以不用照着敲,这部分重点就是了解一些概念和原理,能看懂最简化的shader结构即可)


image.png

线性代数矩阵部分也恶补了,会一些矩阵变换了,理解旋转、平移、缩放的矩阵了(矩阵的话,在知乎搜“放牛的星星”,他的系列教程基础渲染部分的第一篇,虽然是翻译过来的但讲的非常好,照做一遍基本可以理解矩阵,不过这里线代很差的我觉得其实可以暂时略过,后续需要用到矩阵的时候再看好了)。


image.png
image.png
image.png

至于Unity,用了很多年了,灯光、烘焙、材质的基础用法也都不在话下(去B站搜“傅老師MrFu”,看傅老师讲的渲染相关知识系列1-13课即可,找起来比较麻烦自己找一下吧,其他的课可以根据自己需求查看,反正我是还没看)。


image.png
image.png
image.png
image.png
光照模型也学了一些基础,理解了光照模型(这里只需要看大佬的讲解,B站搜庄懂,看完前面十一二课就能很好的理解基础光照模型,可以只看上课不看作业,其实我也没刷完,想后面再刷一遍)。
image.png

刷完上面这些,基本就对shader心里有数了


看了这么多,然后我还是感觉离大佬好远,不知道该接着看什么。
思考了一下,工作中主要需要shader的几个方向:
1.2Dshader处理(可以百度直接搜Unity2Dshader,CSDN上的夜风写得很好),比如一些面片、UI的处理,比如AR项目中用到的屏幕扫描线效果,比如用shader改UV实现序列帧动画播放。
2.3D模型处理,如何还原真实的光效,也就是大家都挂在嘴上的PBR材质,这部分个人感觉停留在浅应用即可,不需要深入到研究光照模型,只需要能学习别人的光照模型拿过来用即可。(不然研究光学啥的也太难了)
3.特效处理,粒子处理,比如实现人物描边,比如实现水、雨、云、雪、烟花、镜子等模型无法实现的物体,这部分其实是应用最多的,也是最需要学的,但是可能又不是完全的shader,还需要结合学习粒子系统等才能实现。这里暂时还没找到特别好的系统教程。
4.渲染风格统一,目前国内用的最多的应该就是卡通渲染,如何通过shader实现好看的卡通渲染效果。以后也可能会出现其他的风格,比如说水墨画风格或者日式风格等等。这部分还停留在卡渲阶段,学习别人的效果即可。
5.屏幕后处理,这个用的其实不多,很多插件已经实现了此部分功能,大部分内容可能跟1重合,优先级最低。
6.优化shader算法,即很多渲染效果可能使用了高运算量的算法,但是手机或移动端会造成大量发热等情况,需要从shader层面进行优化。
7.GPU代替CPU实现功能,如将动画转换为GPU顶点动画,实现降低DrawCalls。

思路理清楚了,大概就这么些应用方向,后面就是要考虑怎么深入学习了,本系列文章主要作为学习过程记录,其中实现的效果可能会以摘抄、扩充shader库和一些api的使用方法为主。文章顶部提供了很多基础的学习渠道,都是本人感觉讲的比较好的,因此本系列不会再写基础理解。


有关工具,本人基于mac系统,Unity2019.4.5f1,使用vscode,安装了ShaderlabVSCode(Free)插件。


2021.5.31更新,忘了闫令琪大神的图形学入门和实时渲染课程了,B站搜GAMES有101和202都是闫大神的教程,非常值得一看,建议在有一定的基础后再去看否则容易劝退。

上一篇下一篇

猜你喜欢

热点阅读