Unity中Shader的渲染排序Tags{“Queue“ = “Transparent“}

news/2024/7/5 1:53:17

文章目录

  • 前言
  • 一、在Unity中渲染排序一般是固定的几个层级,透明 和 半透明是以 2500 为 分界点,渲染层级 从 低 到 高
  • 二、渲染队列 可以 在 SubShader 或 Pass 中写


前言

Unity中Shader的渲染排序


一、在Unity中渲染排序一般是固定的几个层级,透明 和 半透明是以 2500 为 分界点,渲染层级 从 低 到 高

在这里插入图片描述

二、渲染队列 可以 在 SubShader 或 Pass 中写

如果在 SubShader 中写,则作用于 SubShader

在 Pass 中 写,则只作用于 Pass

写法:
Queue是默认Shader暴露在外面的属性Queue
Geometry是Queue的类型

Tags{“Queue” = “Geometry”}

测试用代码:

Shader "MyShader/P0_9_2"
{
    Properties
    {
        _MainTex ("Texture", 2D) = "white" {}
    }
    SubShader
    {
        Tags{"Queue" = "Transparent"}
        //混合
        Blend One One

        Pass
        {
            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag
            #include "UnityCG.cginc"
            
            sampler2D _MainTex;
            float4 _MainTex_ST;


            struct appdata
            {
                float4 vertex : POSITION;
                float2 uv : TEXCOORD0;
            };

            struct v2f
            {
                float2 uv : TEXCOORD0;
                UNITY_FOG_COORDS(1)
                float4 vertex : SV_POSITION;
            };

           

            v2f vert (appdata v)
            {
                v2f o;
                o.vertex = UnityObjectToClipPos(v.vertex);
                o.uv = TRANSFORM_TEX(v.uv, _MainTex);

                return o;
            }

            fixed4 frag (v2f i) : SV_Target
            {
                
                fixed4 col = tex2D(_MainTex, i.uv);
                
                return col;
            }
            ENDCG
        }
    }
}

效果:

在这里插入图片描述


http://lihuaxi.xjx100.cn/news/1510033.html

相关文章

解决github图片及网页加载不出来

github时不时的抽风,即使用了代理也访问不了,加载不出页面上的图片和静态资源,下面介绍下几个常用的解决方法 kgithub kgithub 是一个公益加速项目,仅需在 github.com 前加上 k 即可,若提示访问限制请刷新任意 github…

stable diffusion实践操作-webUI教程

系列文章目录 stable diffusion实践操作 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、SD webUI是什么?二、详细教程1. 插件安装1.1. 提示词插件安装和使用 2. xyz 图表使用2.1…

一个 MySQL 数据库死锁的案例和解决方案

本文介绍了一个 MySQL 数据库死锁的案例和解决方案。 场景 生产环境出了一个偶现的数据库死锁问题,导致少部分业务处理失败。 分析特征之后,发现是多个线程并发执行同一个方法,更新关联的数据时可能会出现,把场景简化概括一下&…

[国产MCU]-W801开发实例-TCP客户端

TCP客户端 文章目录 TCP客户端1、TCP协议简单介绍2、W801创建TCP客户流程本文将详细介绍如何在W801中使用TCP客户端。 1、TCP协议简单介绍 传输控制协议 (TCP) 是一种标准,它定义了如何建立和维护应用程序可以用来交换数据的网络对话。 TCP 与 Internet 协议 (IP) 一起工作,…

在CentOS7上使用Docker安装和部署RabbitMQ

🚀 1 拉取RabbitMQ Docker镜像 首先,使用Docker命令从Docker Hub拉取RabbitMQ官方镜像。打开终端并运行以下命令: docker pull rabbitmq🚀 2 创建RabbitMQ容器 一旦镜像下载完成,使用以下命令创建RabbitMQ容器&…

ESP32在线仿真器

1. Wokwi是一个电子在线仿真平台,支持的芯片有ESP32,STM32,树莓派,Arduino 网址: https://wokwi.com ; 而且支持在vscode内置插件仿真 2. ESP32可以使用microPython开发,相关sdk说明MicroPython(ESP32)快…

Nginx安装和优化1

Nginx的安装和优化1 一、nginx简介1.1 概述1.2nginx和apache的优缺点比较1.3nginx作为web服务器与apache比较1.5nginx和apache最核心的区别 二、linux中的i/o三、nginx的编译安装步骤详解3.1关闭防火墙,安装依赖关系包3.2新建用户和组便于管理3.3、将压缩包传入到/o…

NLP(六十七)BERT模型训练后动态量化(PTDQ)

本文将会介绍BERT模型训练后动态量化(Post Training Dynamic Quantization,PTDQ)。 量化 在深度学习中,量化(Quantization)指的是使用更少的bit来存储原本以浮点数存储的tensor,以及使用更少的…