【Unity Shader 中Properties 相关介绍】

简介: 【Unity Shader 中Properties 相关介绍】
Shader "Unlit/NewUnlitShader"
//第一行代码是shader在项目里的路径位置,类似建文件夹一样。当在Material选择shader时,根据自己定义的路径选择相应的shader,"/"表示文件的下一层。
//下面是一个基础的无阴影的shader正文。
{
    Properties 
    { 
        //下面是属性面板,会显示到的Inspector,

        _MainTex ("Texture", 2D) = "white" {}

        //它的结构如下
        //_Variable Name ("Inspector GUI Name", Type) = (Default Value)
        //_变量名 ("在Inspector面板显示的名称" 变量类型) = (变量的默认值)
        //下面是左到右的对应解释
        //_Variable Name : 变量名,Pass结构里会用到,会起到相关联作用。
        //Inspector GUI Name : 这个是在Inspector面板显示的名称,主要是方便使用和理解,像是对应的注解。
        //Type :变量的类型。一般定义了变量名后,变量的类型可选择的就不是很多了,可以在网上找找Unity Shader变量类型。
        //Default Value : 变量的默认值,不可省略哦。

        //下面是可能会出现的 Properties 的结构
        _2D("2D", 2D) = "" {}
        _Color("Color",Color) = (1,1,1,1)
        _Value("Value",Range(0,10)) = 2.5
        _Float("Float",Float) = 0
        _Vector("Vector",Vector) = (0,0,0,0)
        _Rect("Rect",Rect) = "" {}
        _Cube("Cube",Cube) = "" {}

        //_Color("Color",Color) = (1,1,1,1) = 白色,也即默认变量值是白色。
        //_Value("Value",Range(0,10)) = 2.5  这是常数,其中Range 是一个范围值,在Inspector面板显示的是一个滑动条,左小右大顺序。
        //_Float("Float",Float) = 0     其中Float 是浮点数,可以输入数字的变量。
        //_Vector("Vector",Vector) = (0,0,0,0)      Vector是向量,(0,0,0,0)是个四维向量,在Inspector面板显示的是四个数字坑位。通常会跟相关联的变量做加减乘除数学运算,最终实现效果。

        //_A("B",C) = (D)
        //等于号的右侧的一目了然,上面介绍得很清楚。
        //等于号的左侧(D),为什么有的地方是 "" {} 这种形式,有的是 (1,1,1,1) 这种形式,有的直接是 数字 这种形式?
        ///
        //例如 : _2D _Rect _Cube 这三个变量的默认值是这"" {}形式。
        //其中 _2D 是图片, _Rect 是UV _Cube 是模型。
        //根据不同的变量名类型造成的,变量名不一样,含义会有所变化。
        //而这些图片、UV和模型都需要主存加载相应数据给显存的,渲染所需的数据从硬盘最终加载到显存。
        //渲染中需要加载到显存中的数据非常复杂,如果数据全部读取或者存留,
        //这样加载的计算量巨大且耗时,需要通过CPU设置渲染状态,"引导"GPU执行的命令。
        //也即CPU提供数据给GPU的部分,其中CPU添加命令 (应用阶段),GPU读取命令并且执行。
        //上面这些是渲染流水线的基础知识,具体的细节可以参考第一篇里的书籍。http://t.csdn.cn/Dm8Hs
        //



    }
    SubShader
        这一部分的内容留到下次介绍
        //
    {
        **************************************
        Pass
        {
            CGPROGRAM
            **************************************
            }
            ENDCG
        }
    }
}

显示在Inspector面板上的内容。供参考。

其中Inspector GUI Name的命名是可以根据自己喜欢取的,只要自己看得懂即可。

上面代码中 书籍的链接 提取码:M84J

相关文章
|
图形学 Android开发 iOS开发
|
4月前
|
图形学 数据可视化 开发者
超实用Unity Shader Graph教程:从零开始打造令人惊叹的游戏视觉特效,让你的作品瞬间高大上,附带示例代码与详细步骤解析!
【8月更文挑战第31天】Unity Shader Graph 是 Unity 引擎中的强大工具,通过可视化编程帮助开发者轻松创建复杂且炫酷的视觉效果。本文将指导你使用 Shader Graph 实现三种效果:彩虹色渐变着色器、动态光效和水波纹效果。首先确保安装最新版 Unity 并启用 Shader Graph。创建新材质和着色器图谱后,利用节点库中的预定义节点,在编辑区连接节点定义着色器行为。
281 0
|
4月前
|
C# 图形学 C语言
Unity3D学习笔记3——Unity Shader的初步使用
Unity3D学习笔记3——Unity Shader的初步使用
48 0
|
4月前
|
数据可视化 图形学
小功能⭐️Unity2018 Shader Graph——全息影像、物体消融
小功能⭐️Unity2018 Shader Graph——全息影像、物体消融
|
6月前
|
图形学
【实现100个unity特效】shader实现3D物品闪光和描边效果
【实现100个unity特效】shader实现3D物品闪光和描边效果
89 0
|
6月前
|
开发工具 图形学
【推荐100个unity插件之11】Shader实现UGUI的特效——UIEffect为 Unity UI 提供视觉效果组件
【推荐100个unity插件之11】Shader实现UGUI的特效——UIEffect为 Unity UI 提供视觉效果组件
416 0
|
6月前
|
图形学
【实现100个unity特效之2】使用shader和shader Graph实现2d图片描边效果(附源码)
【实现100个unity特效之2】使用shader和shader Graph实现2d图片描边效果(附源码)
272 0
|
6月前
|
图形学 开发者
【实现100个unity特效之1】使用Shader Graph实现动物森友会的世界弯曲效果(带源码)
【实现100个unity特效之1】使用Shader Graph实现动物森友会的世界弯曲效果(带源码)
126 0
|
7月前
|
图形学 异构计算
【Unity Shader 中Pass相关介绍_第四篇】
【Unity Shader 中Pass相关介绍_第四篇】
|
7月前
|
缓存 图形学 异构计算
【#Unity Shader#Amplify Shader Editor(ASE)_第二篇】
【#Unity Shader#Amplify Shader Editor(ASE)_第二篇】