Shader基础学习(二)

目录

 

6.方法介绍

Type

Color

Int

Float

Vector

2D

通用属性

补充:


6.方法介绍

Properties:

语法格式: [Attribute_Name] (Display name Type) = default Vaule]

Attribute

关键字:对当前的属性进行特殊处理

_Name 变量名称 也叫属性名称 在Shader 的CG代码中通过这个名称来调用从属性内容的,在内部利用脚本调用时也是这个名称,所以一定要用英文而且一定要加下划线,不然报错

Display Name:

显示在属性面板上的名称,主要起到说明解释的之作用。(要和属性的意义有关)

Default Value

默认值,当第一次指代那个此Shader,属性的值会自动恢复到默认值,不同的类型具体写法不一样。

Type

属性的类型:

Color 颜色

Int 整数

Float 浮点数

Vector 四维数

2D  纹理

3D  纹理

Cube 立方体纹理

例子:

Color

变量名:_Color

显示名称:我是Color

类型:Color

默认值:(1,1,1,1)

HDR可以是使得颜色亮度超过1,通过这个值可以配合镜头Bloom效果做出物体泛光的视觉效果

Properties
	{
		[HDR]_Color("我是Color", Color) = (1,1,1,1)
	}
//四位向量RGBA(红绿蓝,透明)

Int

(类型:整形)

虽然我们可以取任意值在面板,但是在shader中只会被识别为整数,例如1.99结果是1 

Properties
	{
		_Int("Int", Int) = 1
	}

Float

(类型:浮点数)

在Shader中Float是最基本的类型,而Int只是一种伪整型,从Shader精度上来讲并不存在整型。所以在Properties内完全可以用Float替代Int。

Properties
	{
		_Float("Float", Float) = 0.5
	}

[Range]

将此属性中原有的Float替换成Range (Min,Max)即可,Min=最小值,Max=最大值。

Properties
	{
		_Float("Float", Range( 0 , 1)) = 0.5
	}

[PowerSlider(Value)]

此属性标记的主要作用,是方便用户调节滑杆。比如有个属性值是从0-1,但是很大部分情况下所用到的值都是0-0.1左右,同时需要更精细的在这区间进行微调。那么正常情况下,用户在整个滑条上想选择0-0.1之间本身就变的很难了,更不要说在这区间微调了。所以这个时候就可以利用PowerSlider来解决此问题。

Properties
	{
		[PowerSlider(3)]_Float("我是Float", Range( 0 , 1)) = 0.5
	}

[Toggle]

Properties

{

[Toggle]_Float("True", Range( 0 , 1)) = 1

}

[Enum]

Properties

{

[Enum(UnityEngine.Rendering.CullMode)]_Float("Enum", Float) = 1

}

Vector

(类型:四维向量)

Properties
	{
		_Vector("Vector", Vector) = (0,0,0,0)
	}

2D

(类型:2D纹理)

Properties
	{
		_MainTex("我是2D纹理", 2D) = "white" {}
	}

默认值

2D纹理的默认只有以下几种:

white

black

gray

Bump

Bump法线图

如果不设置默认值,即=""{},则其实与="gray"{}相同。

通用属性

[Header]

[HideInInspector]

在材质面板中隐藏此条属性,在不希望暴露某条属性时可以快速将其隐藏。

	Properties
	{
		[Header(Header )]_Int("我是Int", Int) = 1
	}

补充:

1.在Properties编辑过程中一定不可以在你编辑的代码属性后面加分号(;)

2.可多条关键字同时写

[HideInInspector][Header(Header )]_Int("我是Int", Int) = 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值