Unity-Shader-Properties
属性简介
Unity-Shader简介中有提到,在Properties中定义属性,代码后无需加分号
属性类型
1、非图片型
1)Color
格式:
_Color ("Color", Color) = (1,1,1,1)
无需多言
2)Int
格式:
_Int ("Int", Int) = 1
这里的Int类型i为大写
3)Float
格式:
_Float ("Float", Float) = 3.4
F为大写,shader代码中并没有double类型,所以并不需要在值后面加f以示区别
4)Vector
格式:
_Vector ("Vector", Vector) = (1,1,2,4)
V为大写,默认为四维向量
5)Range
格式:
_Range ("Range", Range(0,4)) = 2.1
本质上为Float,通过Range(min,max)限定范围,左闭右闭。
在SubShader的CG代码块中统一用float,float2,float3,float4进行初始化(实例化)
float均可用half,fixed进行替换(只有所用空间大小不同)
float:32位
half:16位 值大致为: -6万~6万
fixed:11位 值: -2~2(一般用于Color,Color的每一位范围都是0~1,用fixed可以节约显存)
例如_Color变量的初始化:(在代码块中需要添加分号)
float4 _Color;
2、图片类型
2D、Cube、3D格式均相同,下面以2D为例:
_2D("2D", 2D) = "white" {}
初值中“颜色”表示如果没有在unity面板中选择相应的图片,则默认为该颜色的纯色图片。
2D为2维平面纹理贴图,Cube为立方体贴图,3D为3维立体纹理贴图,这里不详细介绍
在SubShader的CG代码块中统一用sampler2D,samplerCube,sampler3D进行初始化(实例化)
例如_2D变量的初始化:(在代码块中需要添加分号)
sampler2D _2D;
原文地址:https://blog.csdn.net/2303_76262050/article/details/142851475
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!