
UnityShader从入门到放弃
文章平均质量分 66
白色的皮卡丘
爱生活,爱 Hello World !
展开
-
UnityShader从入门到放弃(一)UnityShader的结构
Shader "Luoxiaoxiao/Shader_1"{//指定Shader的名字 不要求与脚本名一致 Properties{ //属性 UnityShader中的类型 _Color("Color",Color)=(1,1,1,1) _Vector("Vector",Vector)=(1,2,3,4) _Int("Int",Int)=3原创 2017-09-06 22:27:37 · 782 阅读 · 0 评论 -
UnityShader从入门到放弃(二)表面着色器和顶点、片元着色器
1.表面着色器:表面着色器是Unity特有的一种着色器代码类型,表面着色器定义在SubShader中。表面着色器需要编写的代码量很少,Unity会自动处理一些细节。但是表面着色器的本质和顶点、片元着色器是一样的,当我们定义一个表面着色器的时候,Unity会在背后将其转换成一个顶点、片元着色器。虽然使用表面着色器Unity会做很多的处理工作,使开发更为简单,但是其带来的缺点也是很明显的,如:灵活性很原创 2017-09-06 22:33:46 · 4302 阅读 · 0 评论 -
UnityShader从入门到放弃(三)将法线的颜色填充给物体
在定义一些UnityShader中的属性的时,常需要使用到语义。如:声明物体的顶点位置是需要使用PISITION语义,这个语义会告诉计算机,这个变量取到的是物体顶点的位置信息,如果没有语义的话,我们将无法获取到物体的顶点信息,将无法渲染这个物体。下边的代码是将模型各个顶点的法线的颜色付给模型,同时练习一下语义的使用。Shader "Luoxiaoxiao/Shader_3"{ SubShad原创 2017-09-06 22:51:42 · 1049 阅读 · 0 评论 -
UnityShader从入门到放弃(五)漫反射—逐片元光照
逐片元光照是在将计算光照信息的代码放在片元函数中,同时本篇代码还加入了环境光Shader "Luoxiaoxiao/Shader_5"{ SubShader{ Tags{"LightMode"="ForwardBase"}//引入LightMode标签 使系统捕捉关照信息 Pass{ CGPROGRAM #include "Lighting.cginc"/原创 2017-09-06 23:11:25 · 715 阅读 · 1 评论