Unity Shader——基本结构

Unity Shader基本结构——Properties、SubShader、Pass、Fallback

1.ProPerties——材质和Unity Shader的桥梁

    Properties里的属性会出现在材质面板中。

 Properties
    {
        _Color ("Color", Color) = (1,1,1,1)
        _MainTex ("Albedo (RGB)", 2D) = "white" {}
        _Glossiness ("Smoothness", Range(0,1)) = 0.5
        _Metallic ("Metallic", Range(0,1)) = 0.0
    }

_color是名字,“Color”是面板显示的名字,Color是类型。

2.SubShader

    每一个Unity Shader文件可以包含多个SubShader语义块。当Unity需要加载这个UnityShader的时候,会扫描所有的SubShader语义块,选择一个目标平台可以运行的SubShader。如果都不支持就会使用Fallback语义指定的Unity shader。

    SubShader中可选设置标签Tags和渲染状态RenderSetup、Pass。每个Pass定义了一次完整的渲染流程,如果Pass过多会造成渲染性能的下降。尽可能的适用最小数量的Pass。

    标签是一个键值对,键和值都是字符串类型。是SubShader和渲染引擎之间的沟通的桥梁。他们用来告诉Unity的渲染引擎:SubShader怎样以及何时渲染这个对象。

3.Pass

Name 用来命名,使用UsePass “ShaderName/PassName”可以使用其他Unity Shader的Pass。可以提高代码的复用性。

UsePass后面的Pass名字必须是大写字母,Unity内部会自动转化Pass名字大写。

GrabPass:负责抓取屏幕并将结果存储在一张纹理中,以用于后续的Pass处理。

4.FallBack——留一条后路

如果所有的SubShader都在显卡上运行不能用,就用FallBack后面的。

off是关闭,如果都跑不了就不要管了。

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值