Unity渲染关系的层级顺序是:
Camera
sorting layer
sorting order
在unity里新建几个sorting layer
Default: 黑背景 星球及其特效
SortLayer0 远景飞船、灯光 及其特效:
SortLayer1 中景飞船、灯光 及其特效:
SortLayer2 近景飞船、灯光 及其特效:
然后修改UIPanelInspector, 支持设置panel的sorting layer 和sorting order,
/// <summary>
/// Draw the inspector widget.
/// </summary>
protected override bool ShouldDrawProperties ()
{
497 行调用 //DrawSortOrder();
/// <summary>
/// Draws the sort order.
/// </summary>
void DrawSortOrder()
{
GUILayout.Space(5f);
GUILayout.BeginHorizontal();
{
EditorGUILayout.PrefixLabel("Sorting Order");
if (GUILayout.Button("Back", GUILayout.MinWidth(46f)))
{
mPanel.sortingOrder = mPanel.sortingOrder - 1;
}
int sorder = EditorGUILayout.IntField("", mPanel.sortingOrder, GUILayout.Width(120f));
if (GUILayout.Button("Forward", GUILayout.MinWidth(60f)))
{
mPanel.sortingOrder = mPanel.sortingOrder + 1;
}
}
GUILayout.EndHorizontal();
GUILayout.Space(5f);
}