MeshRenderer에서 SortingLayerID 및 OrderInLayer를 변경하는 확장 스크립트

아마도 기출이겠지만 만들어 보았습니다!

Editor 폴더에 다음 스크립트를 넣을 수 있습니다.
MyMeshRendererInspector.cs
using UnityEngine;
using UnityEditor;     
using System.Linq;


[CustomEditor(typeof(MeshRenderer))]
public class MyMeshRendererInspector : Editor
{
    public override void OnInspectorGUI()
    {
        serializedObject.Update();
        EditorGUILayout.BeginHorizontal();

        // sorting order
        SerializedProperty sortOrderProperty = serializedObject.FindProperty("m_SortingOrder");
        sortOrderProperty.intValue = EditorGUILayout.IntField("Sort Order", sortOrderProperty.intValue);

        // sorting layer
        SerializedProperty layerIDProperty = serializedObject.FindProperty("m_SortingLayerID");
        var index = System.Array.FindIndex(SortingLayer.layers, layer => layer.id == layerIDProperty.intValue);
        index = EditorGUILayout.Popup(index, (from layer in SortingLayer.layers select layer.name).ToArray());
        layerIDProperty.intValue = SortingLayer.layers[index].id;

        EditorGUILayout.EndHorizontal();
        serializedObject.ApplyModifiedProperties();

        base.OnInspectorGUI();
    }
}


Sorting Layer 및 Order in Layer가 표시됩니다.



뭔가 문제가 있으면 알려주세요!

좋은 웹페이지 즐겨찾기