Shader在我们的印象中一直都是非常难学的技术了,认为我们都需要掌握图形学的知识,比如需要会OpenGL,DirctX等,其实我们使用unity来开发手机游戏的时候,如果不是想深入的学习图形学的知识的话,或者不做技术美术,其实是不需要学习太多这方面的知识的。为啥呢?因为unity里面有专门写shader的模块-shaderlab。我们只需要有一些图形学的知识,知道一些基本原理以及知道弄一些不是很复杂的效果出来就可以了。因为我们是程序,而不是技美或渲染大佬。当然了解多一些总是好事。
今天我在这里做一个非常简单的shader小案例-波光粼粼的鱼。这对于shader初学者来说应该比较友好的,哈哈。不是很难。波光粼粼的效果其实就是利用时间来对纹理的坐标进行偏移来实现的。同时这也是比较完整的一节课程。话不多说,上效果图。
大家注意鱼就可以了,其他的不用理会,哈哈。可以看出这是两个纹理叠加的效果。那么这是怎么弄的呢?不要急,往下看。
首先我们需要两张贴图,然后需要一条鱼模型。OK。打开unity,在资源面板下创建一个文件夹,在这个文件夹下面创建一个无光照shader模块。(什么?你不知道怎么在unity里创建shader代码,也不知道什么是无光照的shader模板)
其实选择哪个模板都是一样的,因为我待会会把代码全删掉,然后自己写的 哈哈。然后在资源面板下面就会出现一个shader代码。我们点进去就是这样的了。
把他们删掉,我们自己写。在这里我就不一行一行的写了,我直接贴出整个完整的代码。然后注释什么的都有,不懂的话,可以找我了解下。互相学习学习,嘿嘿。完整代码附上:
这样 这个小案例就搞定了。希望能帮助得到大家
网友评论