Unity Shader 学习笔记(四)Fixed function Shader;

Fixed function Shader

简介 固定管线渲染,就是默认的渲染效果的shader unity官方表示有很好的兼容性

固定渲染以后应用应该很少,本章节简单了解下大概流程 一些不懂的地方可以后面再解决

properties 参数值 显示在材质球面板上方便 修改参数

material 材质自处理阶段,设置光源(这个阶段不是很清晰)

settexture 材质赋予贴图阶段

Shader "ff1_2"
{
	Properties
	{
		//属性名称{显示在面板上的名称 可以中文,类型}=默认值
		 _Color("Main Color 原始颜色",color) = (1,1,1,1)//原始颜色
		 _Anbient("Aebient 全局光颜色",color) = (0.3,0.3,0.3,0.3)//全局光颜色
		_Speculer("Speculer 高光颜色",color) = (1,1,1,1)//高光颜色
		_Shiniess("Shiniess 一个浮点型取值范围 用于高光",range(0,8)) = 4//一个浮点型取值范围
		_Emission("Emission 自发光颜色",color) = (1,1,1,1)//自发光颜色
		_Constant("ConstantColor",color) = (1,1,1,0.3)
		_MainTex("MainTex 第一张贴图",2d) = ""{}
		_MainTex_2("MainTex_2 第二种贴图",2d) = ""{}

	}
	SubShader
	{
		Tags{"Queue"="Transparent"}//渲染队列
		Pass
		{
			Blend SrcAlpha OneMinusSrcAlpha
		//	color(1,0,0,1)//"()"固定值
		//	color[_Color]//"[]"参数值
			material
			{
				diffuse[_Color]//着色
				ambient[_Anbient]//环境光
				specular[_Speculer]//高光
				shininess[_Shiniess]//高光取值范围
				emission[_Emission]//自发光
			}
			lighting on//光照打开
			separatespecular on//高光反射打开
			settexture[_MainTex] //设置材质贴图
			{
				//渲染贴图*上面设置的原始颜色信息*两倍
				combine texture*primary double//quad
			}
			settexture[_MainTex_2] //设置材质贴图
			{
				constantColor[_Constant]
				//渲染贴图*previous 是前面渲染所有颜色信息*两倍
				combine texture*previous double , texture*constant//quad
			}
			
		}
	}
}

需要搞清楚的知识点

1.Blending 

官方链接https://docs.unity3d.com/Manual/SL-Blend.html 需要阅读全文

https://blog.csdn.net/treepulse/article/details/53505098 翻译文档

这是透明渲染的一个混合模式

2.Tags { "Queue" = "Transparent" }渲染队列

shader是按渲染队列在进行渲染顺序的,

值越大就会渲染到最前面 遮挡住小的

https://docs.unity3d.com/Manual/SL-SubShaderTags.html 官方说明

这个固定管线渲染会经常让我的显卡崩溃不知道为什么 

最后 有一期学习的前端开发的可以入群 大家一起学习 339033019

猜你喜欢

转载自blog.csdn.net/qq_18709863/article/details/84279742
今日推荐