网站开发需不需要考研,wordpress购物插件,做微信公众号的网站,成都广告设计公司排名目录
一、unity的shader
二、创建一个shader#xff08;在创建时#xff0c;选前三种都可以#xff09;
三、内容解读
1.shader一直都在
2.我们写shader在写什么
四、没有被干预的shader#xff08;最简单的shader#xff09; 相关阅读
编写着色器概述 - Unity 手册…目录
一、unity的shader
二、创建一个shader在创建时选前三种都可以
三、内容解读
1.shader一直都在
2.我们写shader在写什么
四、没有被干预的shader最简单的shader 相关阅读
编写着色器概述 - Unity 手册 一、unity的shader
unity写的shader并不是真正意义上的shader。 官方解释 为 Unity 编写着色器时使用以下语言 一种称为 HLSL 的编程语言。使用它可编写着色器程序本身。一种称为 ShaderLab 的 Unity 特定语言。使用它可定义 Shader 对象它充当着色器程序的容器。 简单解释真正的shader语言写起来还是麻烦的unity希望大家写起来简单一点于是在原来的基础上给大家优化了两个语言一个叫HLSL另一个叫ShaderLab所以我后面讲的Shader其实是ShaderLab。
二、创建一个shader
在创建时选前三种任意一个都可以如图1所示前三个都是用ShaderLab写的他们的区别只是里面预制的内容是不一样的就像你写的不同的脚本都是C#编写只是里面的内容不一样。 图1 创建Shader的界面 三、内容解读
1 shader一直都在
shader在unity里它是一直存在的且自己正常运作的运作流程就是之前写的文章。
Unity | Shader基础知识什么是shader_unity shader-CSDN博客
2 我们写shader在写什么
我们其实是在选择性的干预其中一个步骤导致它最后输出出来的结果不同。
例子(如图2所示)我们的手电筒一直都在工作我如果拿手去挡了一部分光就会出现手影在这个过程中我们没有去改手电筒而是去干预了光线挡住了光 图2 灯光下的手影 结论我们写shader也只是把其中一部分拿出来进行干预其他部分保持不变最后结果就会出现变化。
四、没有被干预的shader最简单的shader
上文创建了一个shader我们把里面所有内容都删除。仅留下图中内容如图3所示。 图3 余下的代码 留下的“Custom/001”是这个shader在unity里保存的位置如图4所示当你在材质中寻找它时也是通过这个位置去寻找的。我们将这个Shader放入材质后发现是玫红色如图5所示这里不太明白也可以去看之前写的内容Unity | Shader着色器和material材质的关系-CSDN博客 图4 Shader所在位置 图5 球体上了玫红材质 PS如果以前经常用材质的小伙伴发现之前如果材质丢失就显示的红色。
所以材质丢失 shader空了显示了最本来的面目。
五、下节预告
因为了解了空白Shader我们就希望去学习如何写Shader
下一节我们讲解基础的Shader语法。