包含此页的版本:
不含此页的版本:
你可以使用 Material.GetTag API 从 C# 脚本中读取 SubShader 标签,如下所示:
using UnityEngine;
public class Example : MonoBehaviour
{
// Attach this to a gameObject that has a Renderer component
string tagName = "ExampleTagName";
void Start()
{
Renderer myRenderer = GetComponent<Renderer>();
string tagValue = myRenderer.material.GetTag(ExampleTagName, true, "Tag not found");
Debug.Log(tagValue);
}
}
您可以使用 Shader.renderQueue 读取着色器在 GPU 上运行的程序。更多信息
请参阅术语表对象的活动子着色器。
默认情况下,Unity 在 [Queue] 标签中指定的渲染队列中渲染几何体。您可以按物料覆盖此值。在 Unity 编辑器中,您可以通过设置 Render Queue 属性在材质检查器中执行此作。在C#脚本中,你可以通过使用Rendering.RenderQueue枚举设置Material.renderQueue的值来执行此作。
从 C# 访问 Pass 标记的值脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间修改组件属性以及以您喜欢的任何方式响应用户输入。更多信息
请参阅术语表,您可以使用 Shader.FindPassTagValue API。这适用于 Unity 的预定义 Pass 标签,以及你创建的自定义 Pass 标签。
Material.SetShaderPassEnabled 和 ShaderTagId 使用LightMode标记来确定 Unity 如何处理给定的 Pass。
在可编写脚本的渲染管线(Render Pipeline) 获取场景内容并将其显示在屏幕上的一系列作。Unity 允许您从预构建的渲染管道中进行选择,或编写自己的渲染管道。更多信息
请参阅术语表,您可以为LightMode标记。然后,你可以使用这些自定义值,通过配置 DrawingSettings 结构体来确定在给定调用 ScriptableRenderContext.DrawRenderers 期间要绘制的通道。有关更多信息和代码示例,请参阅在自定义可编写脚本的渲染管线中创建简单的渲染循环。