Editor 클래스 - 속성 패널 사용자 정의

1578 단어 UnityReferenceEditor

1. Editor 클래스 속성 및 함수


먼저 공식 참고 문서를 제공한다. API-reference-Editor 및 사용자 매뉴얼 사례.
개요: Editor는 UnityEngine에 속합니다.Editor 명명 공간은 Scriptable Object 클래스와 계승되며, 이 클래스를 계승하고 함수를 다시 쓰면 사용자 정의 대상에 해당하는 편집기를 정의할 수 있습니다.
등록 정보
  • serializedObject: 검시된 서열화된 대상을 되돌려줍니다.이것은 target과 다르다. OnInspector GUI ()에서 serializedObject 대상을 사용하고 target을 사용하지 않지만, OnSceneGUI와 OnPreview GUI에서 serializedObject를 사용하지 말고 target을 사용해야 한다.
  • target/targets: 검시된 대상/검시된 그룹 가져오기;

  • 메서드
  • OnInspector GUI (): 이 함수를 사용하여 속성 패널을 사용자 정의합니다. OnGUI ()와 유사합니다.

  • Message
     

    2. 사례 사용


    1. 속성 편집기(Custom Editor:Manual)


    스크립트 구성 요소를 위한 속성 패널을 맞춤형으로 만드는 편집기입니다.MonoBehavior가 스크립트 구성 요소로 게임 대상에 추가할 때 속성 패널에 기본 레이아웃이 있습니다.물론 속성 패널에 나타나는 것은 모두 정렬화 속성이어야 한다.다음과 같다. 먼저 하나의 속성을 정의하여 서열화 대상의 속성 값을 얻는다.그런 다음 EditorGUIlayout을 사용하여 레이아웃을 수정합니다.
        SerializedProperty lookAtPoint;
    
        void OnEnable()
        {
            lookAtPoint = serializedObject.FindProperty("lookAtPoint");
        }
    
        public override void OnInspectorGUI()
        {
            //serializedObject.Update();
            EditorGUILayout.PropertyField(lookAtPoint,new GUIContent("look point"));
            serializedObject.ApplyModifiedProperties();
        }

    2. UnityEditor 속성의 CustomEditor


    우리가 Editor 클래스를 계승하는 스크립트에서customEditor를 사용하여 스크립트 구성 요소를 연결하면 이 편집기 스크립트의serializedObject는 연결된 스크립트의 서열화 대상이 되고 속성을 찾으면 이 스크립트 구성 요소 내의 속성만 찾을 수 있다.
    // 
    [CustomEditor(typeof(LookAtPoint))]
    // 
    [CanEditMultipleObjects]

    좋은 웹페이지 즐겨찾기