unity写的shader并不是真正意义上的shader。
简单解释:真正的shader语言写起来还是麻烦的,unity希望大家写起来简单一点,于是在原来的基础上,给大家优化了一个语言,叫shaderLab,所以我后面讲的的都是unity中的shader写法。
1.shader一直都在
shader在unity里,它是一直存在的,且自己正常运作的,运作流程就是之前写的文章
Unity | Shader基础知识(什么是shader)_unity shader-CSDN博客
我们其实是在选择性的干预其中一个步骤,导致它最后输出出来的结果不同。
例子:我们的手电筒一直都在工作,我如果拿手去挡了一部分光,就会出现手影,在这个过程中,我们没有去改手电筒,而是去干预了光线(挡住了光)
结论:我们写shader也只是把其中一部分拿出来,进行干预,其他部分保持不变,最后结果就会出现变化。
我们前面创建了一个shader,我们把里面所有内容都删除。仅留下(如下图)
留下的“Custom/001”是这个shader在unity里保存的位置,你找他也是这么找的
我们放入材质去看(发现是红色)
这里不太明白,也可以去看之前写的
Unity | Shader(着色器)和material(材质)的关系-CSDN博客
PS:如果以前经常用材质的小伙伴发现,之前如果材质丢失,就显示的红色。
所以,材质丢失 = shader空了,显示了最本来的面目。
更多【unity-Unity | Shader基础知识(第一集:unity中最简单的shader)】相关视频教程:www.yxfzedu.com