版本: Unity 6 (6000.0)
语言英语
  • C#
实验性: 此 API 处于实验阶段,未来可能会更改或删除。

GraphicsStateCollection

UnityEngine.Experimental.Rendering 中的类

/

继承自:Object

/

实现于:UnityEngine.CoreModule

建议修改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交内容,但我们确实会阅读用户提出的每个建议,并在适用情况下进行更新。

关闭

提交失败

由于某种原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

描述

着色器变体和相关图形状态的集合。

使用图形状态集合记录运行时遇到的着色器变体和图形状态,并预热着色器变体。

集合中的每个着色器变体可能具有一个或多个相关图形状态。着色器变体和图形状态的每个排列将导致 Unity 创建着色器的单个 GPU 表示。

using UnityEngine;
using UnityEngine.Experimental.Rendering;

public class GraphicsStateCollectionTracing : MonoBehaviour { public GraphicsStateCollection graphicsStateCollection;

void Start() { graphicsStateCollection = new GraphicsStateCollection(); graphicsStateCollection.BeginTrace(); }

void OnDestroy() { graphicsStateCollection.EndTrace(); } }

属性

completedWarmupCount已预热的着色器变体排列数。
graphicsDeviceType集合旨在与之一起使用的图形设备 API 类型。
isTracing指示集合是否正在积极跟踪着色器变体和图形状态的标志。
isWarmedUp指示集合是否已预热的标志。
qualityLevelName集合旨在与之一起使用的质量级别。
runtimePlatform集合旨在与之一起使用的平台。
totalGraphicsStateCount集合中所有着色器变体的所有图形状态的总数。
variantCount此集合中包含的着色器变体数量。
version集合的当前版本。

构造函数

GraphicsStateCollection创建一个使用文件内容填充或为空的 GraphicsTextureCollection。

公共方法

AddGraphicsStateForVariant添加与着色器变体关联的新图形状态。
AddVariant向集合添加新的着色器变体。
BeginTrace开始跟踪运行时遇到的着色器变体和图形状态。
ClearVariants从集合中清除所有着色器变体和相关图形状态。
ContainsVariant检查集合中是否存在变体。
EndTrace停止跟踪运行时遇到的着色器变体和图形状态。
GetGraphicsStateCountForVariant获取与着色器变体关联的图形状态数量。
GetGraphicsStatesForVariant用与输入着色器变体关联的图形状态填充给定列表。
GetVariants用集合中包含的着色器变体填充给定列表。
LoadFromFile加载给定路径的 GraphicsStateCollection。
RemoveGraphicsStatesForVariant从着色器变体中删除所有关联的图形状态。
RemoveVariant从集合中删除着色器变体和关联的图形状态。
SaveToFile将 GraphicsStateCollection 保存到磁盘。
SendToEditor使用 PlayerConnection 将 GraphicsStateCollection 发送到编辑器。
WarmUp使用关联的图形状态预热此集合中的所有着色器变体。
WarmUpProgressively使用关联的图形状态预热给定数量的着色器变体排列。

继承的成员

属性

hideFlags对象是否应隐藏、与场景一起保存或可由用户修改?
name对象的名称。

公共方法

GetInstanceID获取对象的实例 ID。
ToString返回对象的名称。

静态方法

Destroy删除 GameObject、组件或资产。
DestroyImmediate立即销毁对象 obj。强烈建议使用 Destroy 代替。
DontDestroyOnLoad加载新场景时不要销毁目标对象。
FindAnyObjectByType检索类型为 type 的任何活动的已加载对象。
FindFirstObjectByType检索类型为 type 的第一个活动的已加载对象。
FindObjectsByType检索类型为 type 的所有已加载对象的列表。
Instantiate克隆对象 original 并返回克隆。
InstantiateAsync捕获原始对象(必须与某个 GameObject 相关)的快照,并返回 AsyncInstantiateOperation。

运算符

bool对象是否存在?
operator !=比较两个对象是否引用不同的对象。
operator ==比较两个对象引用,以查看它们是否引用同一个对象。