如何以编程方式更改 Unity 中的排序层?
How do I change the sorting layer in Unity programmatically?
我正在制作一款 2D 游戏。我很困惑,因为有两种类型的图层。图层和 "Sorting Layers"。似乎只有 "Sorting Layers" 重要。
我在每一层上都有很多对象,我想以编程方式设置 "Sorting Layer"。我试过了
item.layer = LayerMask.NameToLayer("IslandLayer");
但这只设置图层而不是 "Sorting Layer"。有没有办法以编程方式设置 "Sorting Layer"?
您更改的是 GameObject.layer
which is the "other" Layer, not the SortingLayer。
排序层在相应的 Renderer
组件中发生了相当大的变化,例如通过 Renderer.sortingLayerID
using SortingLayer.NameToID
item.GetComponent<Renderer>().sortingLayerID = SortingLayer.NameToID("NameOfTheSortingLayer");
我正在制作一款 2D 游戏。我很困惑,因为有两种类型的图层。图层和 "Sorting Layers"。似乎只有 "Sorting Layers" 重要。
我在每一层上都有很多对象,我想以编程方式设置 "Sorting Layer"。我试过了
item.layer = LayerMask.NameToLayer("IslandLayer");
但这只设置图层而不是 "Sorting Layer"。有没有办法以编程方式设置 "Sorting Layer"?
您更改的是 GameObject.layer
which is the "other" Layer, not the SortingLayer。
排序层在相应的 Renderer
组件中发生了相当大的变化,例如通过 Renderer.sortingLayerID
using SortingLayer.NameToID
item.GetComponent<Renderer>().sortingLayerID = SortingLayer.NameToID("NameOfTheSortingLayer");