shaderlab 关键点记录

1.C#获取着色器标签的接口

可以使用 Material.GetTag API 从 C# 脚本中读取子着色器标签,

2.常用的标签

subshader的标签

“RenderPipeline” = “[name]”    //向 Unity 告知此子着色器是否与 URP 或 HDRP 兼容。

值:UniversalRenderPipeline  //此子着色器仅与 URP 兼容。

值:HighDefinitionRenderPipeline  //此子着色器仅与 HDRP 兼容。

标签未声明:此子着色器与 URP 和 HDRP 不兼容。


pass标签

“Queue” = “[queue name]”   pass在name这个渲染队列

“Queue” = “[queue name] + [offset]”在相对于命名队列的给定偏移处使用未命名队列。

这种用法十分有用的一种示例情况是透明的水,它应该在不透明对象之后绘制,但是在透明对象之前绘制。

值:Background 背景渲染队列。

Geometry 几何体渲染队列。

AlphaTest   AlphaTest 渲染队列。

Transparent 指定透明渲染队列。

Overlay 覆盖渲染队列。

要是需要动态设置渲染队列,可以在C#中使用下面的枚举和api进行设置

在 C# 脚本中,可以通过使用 Rendering.RenderQueue 枚举设置 Material.renderQueue 的值


RenderType标签

“RenderType” = “[renderType]” 渲染类型 这个标签标识具有匹配 RenderType 标签值的子着色器

内置着色器中的着色器替换标签:

Opaque:大部分着色器(法线、自发光、反射和地形着色器)。

Transparent:大部分半透明着色器(透明、粒子、字体和地形附加通道着色器)。

TransparentCutout:遮罩透明度着色器(透明镂空、两个通道植被着色器)。

Background:天空盒着色器。

Overlay:光环、光晕着色器。

TreeOpaque:地形引擎树皮。

TreeTransparentCutout:地形引擎树叶。

TreeBillboard:地形引擎公告牌树。

Grass:地形引擎草。

GrassBillboard:地形引擎公告牌草。深度

这个标签是子着色器的标签


ForceNoShadowCasting 标签

“ForceNoShadowCasting” = “[state]” 标签阻止子着色器中的几何体投射(有时是接收)阴影。确切行为取决于渲染管线和渲染路径。如果使用着色器替换,但是不希望从其他子着色器继承阴影通道,这可能非常有用。

值: True

Unity 阻止此子着色器中的几何体投射阴影。在内置渲染管线中,对于前向、旧版顶点光照或旧版延迟渲染路径,Unity 还会阻止此子着色器中的几何体接收阴影。在 HDRP 中,这不会阻止几何体投射接触阴影。

False

Unity 不会阻止此子着色器中的几何体投射或接收阴影。这是默认值。


DisableBatching 标签

“DisableBatching” = “[state]”  Unity 是否对使用此子着色器的所有几何体阻止动态批处理。

值:

True :Unity 对使用此子着色器的几何体阻止动态批处理。

False :Unity 不会对使用此子着色器的几何体阻止动态批处理。这是默认值。

LODFading:对于属于 Fade Mode 值不为 None 的 LODGroup 一部分的所有几何体,Unity 会阻止动态批处理。否则,Unity 不会阻止动态批处理。


IgnoreProjector 标签

“IgnoreProjector” = “[state]”  Unity 在渲染此几何体时是否忽略投影器。

值:

True:Unity 在渲染此几何体时忽略投影器。

False:Unity 在渲染此几何体时不会忽略投影器。这是默认值。


PreviewType 标签

PreviewType 子着色器 Tag 告知 Unity 编辑器如何在材质 Inspector 中显示使用此子着色器的材质。

“PreviewType” = “[shape]” Unity 编辑器用于显示使用此子着色器的材质预览的形状。

值;

球体:在球体上显示材质。这是默认值。

平面 (Plane):在平面上显示材质。

Skybox:在天空盒上显示材质。


CanUseSpriteAtlas 标签

在使用 Legacy Sprite Packer 的项目中使用此子着色器标签可警告用户着色器依赖于原始纹理坐标,因此不应将其纹理打包到图集中。

“CanUseSpriteAtlas” = “[state]”使用此子着色器的精灵是否与 Legacy Sprite Packer 兼容。

值:

True:使用此子着色器的精灵与 Legacy Sprite Packer 兼容。这是默认值。

False:使用此子着色器的精灵与 Legacy Sprite Packer 不兼容。

当 CanUseSpriteAtlas 值为 False 的子着色器与带有 Legacy Sprite Packer 打包标签的精灵一起使用时,Unity 会在 Inspector 中显示错误消息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/25183.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode够用之java语法

常用方法 Arrays.sort()排序 import java.util.Arrays;public class Main {public static void main(String[] args) {int[] numbers {9, 2, 5, 1, 7, 3};Arrays.sort(numbers);System.out.println(Arrays.toString(numbers)); // 输出: [1, 2, 3, 5, 7, 9]} }获取str中的第…

《软件定义安全》之二:SDN/NFV环境中的安全问题

第2章 SDN/NFV环境中的安全问题 1.架构安全 SDN强调了控制平面的集中化,从架构上颠覆了原有的网络管理,所以SDN的架构安全就是首先要解决的问题。例如,SDN实现中网络控制器相关的安全问题。 1.1 SDN架构的安全综述 从网络安全的角度&…

@BeforeAll 和 @AfterAll 必须是 static 的原因

BeforeAll 和 AfterAll 必须是 static 的原因 执行时机: BeforeAll 方法在所有测试方法之前运行。AfterAll 方法在所有测试方法之后运行。 实例化前/后的执行: 因为 BeforeAll 是在所有测试方法执行之前运行的,所以它在任何一个测试实例创建…

基于springboot的教学管理系统的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,教师管理,学生管理,课程管理 教师账户功能包括:系统首页,个人中心,学生管理,课程管理,课程表…

Oracle 数据库的自动化工具:AWR 和 ASM

Oracle 数据库提供了一系列工具和技术,以提高数据库管理的效率和性能。其中,AWR和 ASM是两个关键组件。本文将详细介绍 AWR 和 ASM 的功能及其在数据库管理中的重要性。 AWR AWR 是 Oracle 数据库的一个核心部分,用于收集、处理和维护数据库…

数据结构---树与二叉树

个人介绍 hello hello~ ,这里是 code袁~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 🦁作者简介:一名喜欢分享和记录学习的…

【CTF MISC】XCTF GFSJ0290 reverseMe Writeup(图像处理)

reverseMe 暂无 解法 导入 Photoshop。 水平翻转,得到 flag。 Flag flag{4f7548f93c7bef1dc6a0542cf04e796e}声明 本博客上发布的所有关于网络攻防技术的文章,仅用于教育和研究目的。所有涉及到的实验操作都在虚拟机或者专门设计的靶机上进行&#xf…

QField如何打开工程或数据文件

Field有个文件选择器,允许从本地设备打开工程。如果想从云端打开文件,请参阅 QFieldCloud 。 注意:请注意,卸载QField时,应用程序文件夹将被删除,而更新则不会。 导入并打开本地工程 QField界面 当转到 …

了解Synchronized对象头?

1、对象头的结构 Java对象存储在内存中结构为: 对象头(Header):实例数据(Instance Data):定义类中的成员属性对齐填充字节(Padding):由于HotSpot虚拟机的自…

Web Dart前端:探索、挑战与未来展望

Web Dart前端:探索、挑战与未来展望 在数字化浪潮的推动下,Web前端技术日新月异,其中Dart语言作为一种高效且灵活的编程语言,正逐渐在Web前端领域崭露头角。然而,Dart在Web前端的应用仍面临诸多挑战和未知。本文将从四…

Linux--进程间通信(system V共享内存)

目录 1.原理部分 2.系统调用接口 参数说明 返回值 1. 函数原型 2. 参数说明 3. 返回值 4. 原理 5. 注意事项 3.使用一下shmget(一段代码) 4.一个案例(一段代码) 1.简单封装一下 2.使用共享内存 2.1挂接(shmat&#x…

Java 语言概述 -- Java 语言的介绍、现在、过去与将来

大家好,我是栗筝i,这篇文章是我的 “栗筝i 的 Java 技术栈” 专栏的第 001 篇文章,在 “栗筝i 的 Java 技术栈” 这个专栏中我会持续为大家更新 Java 技术相关全套技术栈内容。专栏的主要目标是已经有一定 Java 开发经验,并希望进…

直接赋值导致响应式断开,前端深浅拷贝

title: 直接赋值导致响应式断开,前端深浅拷贝 date: 2024-06-08 09:56:05 tags: vue3 vue3中的ref对象的深浅拷贝问题,实际应用出现的相关的问题。 概念总述 浅拷贝 仅仅复制了数据,没有改变他原来的引用。 表现:当你对新对象…

Unity3D EventMgr事件订阅与发布详解

在游戏开发过程中,经常需要处理各种事件,比如角色的移动、碰撞、攻击等。为了更好地管理和处理这些事件,Unity3D提供了EventMgr事件订阅与发布机制,通过该机制可以实现不同对象之间的事件通信,让游戏逻辑更加清晰和灵活…

LLVM Cpu0 新后端7 第一部分 DAG调试 dot文件 Machine Pass

想好好熟悉一下llvm开发一个新后端都要干什么,于是参考了老师的系列文章: LLVM 后端实践笔记 代码在这里(还没来得及准备,先用网盘暂存一下): 链接: https://pan.baidu.com/s/1V_tZkt9uvxo5bnUufhMQ_Q?…

单线服务器与双线服务器的区别?

单线服务器和双线服务器之间有什么区别呢?接下来就让小万来为大家具体分析一下吧! 首先单线服务器和双线服务器之间运营商的性质是不同的,单线服务器主要是一家带宽运营商,而双线服务器则是有两家运营商提供带宽的线路。 单线服务…

spring两种代理方式

Spring 提供了两种主要的代理(proxy)方式,分别是基于JDK动态代理和基于CGLIB的代理。这两种代理方式各有其特点和适用场景。 1. JDK动态代理 特点: - 基于Java的接口(Interface)。 - 代理类必须实现一个或…

contos7使用docker安装vulhub

contos7下使用docker安装vulhub 1. 安装docker 1. 更新yum (1)切换root用户 su root (2)更新yum yum update 2. 卸载旧版本的docker sudo yum remove docker sudo yum remove docker-client sudo yum remove docker-clien…

【个人博客搭建】(21)使用AutoMap对象映射

在.NET WebAPI项目中,使用AutoMap进行对象映射是一种高效的数据处理方式。通过自动映射机制,可以极大地简化对象之间的转换过程,提高代码的可维护性和整洁性。下面将详细探讨如何在.NET WebAPI中使用AutoMap进行对象映射: 安装和配…

高并发ping多台主机IP

简介 社区或者是大型公司往往有成千上万或者几百台设备,保持设备始终在线对网络运维人员来说至关重要,然而一个一个登录检查,或者一个一个ping并不明智,累人且效率极低,并出错率高。花钱买检测服务当我没说。 shell编…