[Unity] 커스텀 에디터를 만들 때 유의할 점

PublicMinsu·2024년 4월 3일
0

[Unity] 에디터 확장

목록 보기
1/4

개요

Rigidbody2D의 Gravity Scale의 기본 값을 수정하고 싶었다.
그래서 커스텀 에디터를 활용해서 Reset 함수에서 수정하는 방식으로 해결하였다. 그러자 한 가지 문제가 발생했다...

문제

기본 Rigidbody2D 인스펙터이다. 익숙하면서도 편리한 모습이다.

커스텀 에디터를 작성하면 바뀌는 모습이다.
기존 형식이 사라져버린 것이다. (OnInspectorGUI를 사용하지 않았음에도 형식이 풀린다)

숫자로 Constraints를 설정하는 건 꽤나 직관성이 떨어진다. 이외에도 여러 요소가 바뀌었는데 별로 좋아 보이지 않는다.

이러한 문제는 Rigidbody2D에서만 일어나는 것이 아니다. Transform에 대한 커스텀 에디터를 작성할 시 기존과 달라지는 것을 볼 수 있다. 이외에도 여러 컴포넌트가 해당 문제를 겪는다.

이유

출처 : https://forum.unity.com/threads/constraints-options-have-disappeared-from-rigidbody.350447/

아마도 내부 에디터 스크립트를 덮어쓰기 때문일 것이라는 의견이다.

해당 글에 최근 댓글에서도 언급했듯 해결법은 아직도 안 나온 것 같다.

내가 생각하는 임시 해결법은 아래와 같다.

  • 기존 에디터를 대체할 에디터 스크립트를 작성한다.
  • 내부 에디터 스크립트를 찾아내어 복사한 뒤 수정한다.
  • 에디터를 수정하지 않고 동일한 기능을 해주는 다른 장치를 마련한다. (ex. 버튼을 누를 경우 해당 컴포넌트를 찾아 수정)
  • 굳이 스크립트를 작성하지 말고 수작업으로 해결한다.

    2024.11.03 추가 사항
    기본값을 수정하고 싶다면 프리셋 관리자를 사용하면 됩니다.
    https://docs.unity3d.com/kr/current/Manual/class-PresetManager.html

만약 접근할 수 있는 위치에 내부 에디터 스크립트가 존재했다면 복사해서 수정하려 했지만 본인은 못 찾았다.
스크립트를 작성하는데 걸리는 시간에 비해 수작업으로 하는 것이 효율적이라고 생각하여서 수동으로 조작해서 해결했다. 해당 문제는 각자 프로젝트에 맞게 해결하면 될 것 같다.

profile
연락 : publicminsu@naver.com

0개의 댓글