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]
- http://forum.unity3d.com/threads/sort-layer-renderer-extension.219799/
- http://forum.unity3d.com/threads/list-of-sorting-layers.210683/#post-1432958
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。