Unity Shader 中各种Tag
Posted WuBaoqing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity Shader 中各种Tag相关的知识,希望对你有一定的参考价值。
Unity shaderLab中,经常会看到 各种Tag(标签)。这里大致分为两类Tag,SubShader Tag 和 Pass Tag。·
SubShader Tag
Sub的这些只能是在SubShader中,但是不能再Pass中,我们还能使用material.GetTag 函数查询他们。
Rendering Order - Queue tag
在3D引擎中,我们经常要对 透明和不透明物体进行排序。先渲染不透明再渲染透明物体,Unity使用 Queue标签,分别放入不同的渲染队列中。
-
Background
- 背景,一般天空盒之类的使用这个标签,最早被渲染 -
Geometry
(default) 适用于大部分不透明的物体 -
AlphaTest
- 如果Shader要使用AlphaTest功能 使用这个队列性能更高 -
Transparent
- 这个渲染队列在AlphaTest之后,Shader中有用到Alpha Blend的,或者深入不写入的都应该放在这个队列。 -
- this render queue is meant for overlay effects. Anything rendered last should go here (e.g. lens flares).Overlay 最后渲染的队列,全屏幕后期的 都应该使用这个
Shader "Transparent Queue Example" { SubShader { Tags { "Queue" = "Transparent" } Pass { // rest of the shader body... } } }
RenderType tag
RenderType tag可以用自定义的字符串,在使用ShadeReplacement,全局替换渲染的时候有用。
以上是关于Unity Shader 中各种Tag的主要内容,如果未能解决你的问题,请参考以下文章
Unity Shader入门精要学习笔记 - 第5章 开始 Unity Shader 学习之旅