翻译Unity中文版的初衷是因为官方提供的中文版存在缺陷,而且翻译的不全。现在基于Unity2023.2版本对官方文档进行翻译。
静态GameObject 🔗
如果一个GameObject在运行时不移动,那么它被称为静态GameObject。如果一个GameObject在运行时会移动,那么它被称为动态GameObject。
在Unity中,许多系统可以在编辑器中预先计算静态GameObject的信息。因为这些GameObject不会移动,所以这些计算结果在运行时仍然有效。这意味着Unity可以节省运行时的计算,并潜在地提高性能。
Static Editor Flags属性 🔗
在检视器中查看GameObject时显示的Static Editor Flags复选框和下拉菜单
Static Editor Flags属性列出了一些Unity系统,这些系统可以在它们的预计算中包含静态GameObject。使用下拉菜单定义哪些系统包含GameObject在它们的预计算中。在运行时设置Static Editor Flags属性不会对这些系统产生影响。
只在需要知道该GameObject的系统的预计算中包含GameObject。在不需要知道该GameObject的系统的预计算中包含GameObject可能会导致计算浪费、数据文件过大或意外行为。
Static Editor Flags属性位于GameObject的检视器中,位于右上角的极限位置。它包括一个复选框,将值设置为Everything或Nothing,以及一个下拉菜单,可让您选择要包含哪些值。
要在代码中设置Static Editor Flags属性,请使用GameObjectUtility.SetStaticEditorFlags API和GameObject.isStatic。要在代码中获取Static Editor Flags属性的状态,请使用GameObjectUtility.GetStaticEditorFlags API。
可用的属性如下:
属性 | 描述 |
---|---|
Nothing | 不在任何系统的预计算中包含GameObject。 |
Everything | 在下面的所有系统的预计算中包含GameObject。 |
Contribute GI | 如果您启用此属性,Unity将在全局光照计算中包含目标Mesh Renderer。这些计算在烘焙时的预计算照明数据过程中进行。ContributeGI属性公开了ReceiveGI属性。只有在为目标场景启用了烘焙全局照明或实时全局照明(Enlighten)等全局照明设置时,ContributeGI属性才生效。Unity博客上有关使用光探头进行静态照明的帖子提供了有关使用此标志的指导。有关更多上下文,请参阅此教程以设置内置渲染管线和Unity中的照明。 |
Occluder Static | 将GameObject标记为遮挡剔除系统中的静态遮挡者。有关更多信息,请参阅遮挡剔除系统。 |
Occludee Static | 将GameObject标记为遮挡剔除系统中的静态被遮挡者。有关更多信息,请参阅遮挡剔除系统。 |
Batching Static | 将GameObject的**Mesh(网格)**与其他合格的网格合并,以潜在地降低运行时渲染成本。有关更多信息,请参阅静态批处理的文档。 |
Navigation Static | 在预计算导航数据时包含GameObject。这个工作流已被弃用,您不能在这里设置Navigation Static。但是,您仍然可以在代码中使用StaticEditorFlags.NavigationStatic 来设置该选项。请使用NavMesh Modifier组件和NavMesh Surfaces代替Navigation Static标志。 |
Off Mesh Link Generation | 在预计算导航数据时,尝试生成从此GameObject开始的OffMesh Link。这个工作流已被弃用,您不能从此菜单中设置Off Mesh Link Generation。但是,您仍然可以在代码中使用StaticEditorFlags.OffMeshLinkGeneration 来设置该选项。请使用NavMesh Modifier组件和NavMesh Surfaces代替Off Mesh Link Generation标志。 |
Reflection Probe | 在预计算为**Type(类型)设置为Baked(烘焙)的Reflection Probes(反射探头)**的数据时,包含此GameObject。有关更多信息,请参阅反射探头。 |
结论 🔗
搬砖愉快!