Unity Sorting Layer失效问题

UI除了接口和分辨率两个问题,其他的问题基本摸清楚,另外一个项目分配给我一个小任务:解决粒子系统显示层的顺序问题。
也就是说每次爆炸之后,爆炸效果的显示层无法确定。

这里有两段非常重要的代码[1]:

// Get the sorting layer names
public string[] GetSortingLayerNames()
{
    Type internalEditorUtilityType = typeof(InternalEditorUtility);
    PropertyInfo sortingLayersProperty = internalEditorUtilityType.GetProperty("sortingLayerNames", BindingFlags.Static | BindingFlags.NonPublic);
    return (string[])sortingLayersProperty.GetValue(null, new object[0]);
}
   
// Get the unique sorting layer IDs -- tossed this in for good measure
public int[] GetSortingLayerUniqueIDs()
{
    Type internalEditorUtilityType = typeof(InternalEditorUtility);
    PropertyInfo sortingLayerUniqueIDsProperty = internalEditorUtilityType.GetProperty("sortingLayerUniqueIDs", BindingFlags.Static | BindingFlags.NonPublic);
    return (int[])sortingLayerUniqueIDsProperty.GetValue(null, new object[0]);
}

 为什么官方文档都找不到关于 InternalEditorUtility 的任何信息?

 后续的问题是,我们通过 Editor 修改了 SetDirty

[Reference]

  1. http://forum.unity3d.com/threads/sort-layer-renderer-extension.219799/
  2. http://forum.unity3d.com/threads/list-of-sorting-layers.210683/#post-1432958

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。