unity shader 入门笔记

UnityShader 入门笔记

(一)属性

对于Int 、Float 、Range 这些数字类型的属性,其默认值就是一个单独的数字;对于Color 和Vector 这类属性,默认值是用圆括号包围的一个四维向量;对于2D 、Cube 、3D 这3种纹理类型,默认值的定义稍微复杂,它们的默认值是通过一个字符串后跟一个花括号来指定的,其中,字符串要么是空的,要么是内置的纹理名称,如“white”“black”“gray”或者“bump”。花括号的用处原本是用于指定一些纹理属性的,例如在Unity 5.0以前的版本中,我们可以通过TexGen CubeReflect 、TexGen CubeNormal 等选项来控制固定管线的纹理坐标的生成。但在Unity 5.0以后的版本中,这些选项被移除了,如果我们需要类似的功能,就需要自己在顶点着色器中编写计算相应纹理坐标的代码。
----UnityShader入门精要

属性定义语法格式
变量名(“展示给使用者的名称,或者释义” , 类型)=(默认值)

Properties 语块支持的类型

属性类型默认值的定语语法案例
Intnumber_Int(“IntNum” , Int) = 2
Floatnumber_Float(“FloatNum” , Float) = 2
Range(min,max)number_Range(“Range”,Range(0 , 100) = 50
Color(number,number,number,number )_Color(“Color” , Color) = (1,1,1,1)
Vector(number,number,number,number )_Vector(“Vector” , Vector) = (2,3,45,4)
2D“defaultTexture”{}_2D(“2D” , 2D)=“white”{}
3D“defaultTexture”{}_3D(“3D” , 3D)=""{}
Cube“defaultTexture”{}_Cube(“Cube” ,Cube)=“black”{}
Shader "Custom/MyFirstShader" {
	Properties {
		//变量名("展示给使用者的名称,或者释义"  ,  类型)=(默认值)
		_as("adf",Color)=(1,1,1,1)
		_MainTex ("Albedo (RGB)", 2D) = "white" {}
		_Glossiness ("Smoothness", Range(0,1)) = 0.5
		_Metallic ("Metallic", Range(0,1)) = 0.0

		_Float("mFloat",Float)=1.5
		_Int("mInt",Int)=2
		_Range("mRange",Range(0,10))=1 
		_Color ("mColor2", Color) = (1,1,1,1)
		_Vector("mVector",Vector)=(1,2,3,1)//xyzw
		//texture
		_2D("m2DTexture",2D)=""{}
		_Cube("mCube",Cube)="white"{}
		_3D("m3DTexture",3D)="black"{}
	} 
	FallBack "Diffuse"
}

上述代码在Inspector显示结果
上述代码在Inspector显示结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值