Unity Shader 属性的定义

Unity Shader 属性的定义

什么是材质球

人的衣服

什么是shader

决定材质跟灯光的作用

Property

若是把shader看作class,那么Property就可以看成成员变量

属性定义的通用格式

Properites{

PropertyProperty...

}

ep:定义一个int:

GLSL 复制代码
name("dispaly name",Int)=number

_TestInt("Test int",Int)=1
//限制范围
_TestFloat("TestFloat",Range(1,5))=2

name:变量的名字,正常以下划线开头

display name: 供外界使用的参考说明,显示在unity的属性页

number:表示默认值

颜色属性
GLSL 复制代码
_TestColor("Color",Color)=(num1,num2,num3,num4)

向量容器

GLSL 复制代码
_TestVector("Vector",Vector)=(x,y,z,w)

纹理

GLSL 复制代码
MainTex("Texture",2D)="White"{}

white:表示默认值

Cube
GLSL 复制代码
_TestCube("cubMap",Cube)=""[]

有6个面的纹理

3D纹理

GLSL 复制代码
_Test3D("3D",3D)=""[]

1、只能通过脚本script去创建,默认值一般为空

2、openGL3.0及以上才支持

3、3D 纹理是位图图像,其中包含三维信息,而不是标准的二维信息。 3D 纹理通常用于仿真诸如雾或烟的体积效果,模拟体积 3D 网格,或存储动画纹理并在这些动画纹理之间平滑混合。 在 Unity 项目中,Unity Editor 将 3D 纹理表示为纹理资源

相关推荐
tealcwu1 天前
【Unity基础】为什么游戏需要物理按键映射?从 Unity Input Manager 到跨引擎输入设计
java·游戏·unity
tealcwu2 天前
【Unity高级】Unity URP:构建同时支持 2D 与 3D 场景的项目完全指南
3d·unity·游戏引擎
淡海水2 天前
10-01-互操作-C#与C++边界的内存管理
unity·c#·游戏引擎·.netcore·gc
小小数媒成员2 天前
UGUI原理(一)
开发语言·游戏·unity·游戏引擎
暴走约伯2 天前
【VFX工具链源码拆解 04】拯救丢失的绑定:Timeline 一键克隆与层级相对路径重映射算法
unity·c#·游戏引擎·硬件工程
小小数媒成员2 天前
Unity UGUI布局组件(LayoutGroup、ContentSizeFitter、LayoutElement)详解
unity·游戏引擎
tealcwu2 天前
【Unity基础】Unity输入与Time.deltaTime的使用原则
unity·游戏引擎
chen_2273 天前
godot做仪表hmi
游戏引擎·godot
郝学胜-神的一滴3 天前
AI 编程智能体 22:解析器赋能与实战落地全指南
人工智能·程序人生·游戏·unity·游戏引擎
BuHuaX3 天前
Lua 与 ToLua:运行机制及热更新原理
开发语言·unity·junit·c#·lua