티스토리 뷰
유니티를 사용하게 되면 using UnityEngine;을 작성할 때 한번 씩 보게되고, 입력하게 되는 패키지가 하나 있다.
UnityEditor가 바로 그것이다.
문자 그대로 유니티 에디터에서 사용하는 기능들을 모아놓은 패키지로, 이걸로 할 수 있는 점이 꽤나 많은 편.
다만, 이로 인해서 프로젝트가 꼬이는 경우도 있다.
간략하게 알아보자.
AnimationController?
유니티로 작업하다 보면 반드시 사용하게 되는 것이 Animation Controller이다.
애니메이션을 관리하는 컴포넌트이다 보니, 안쓸래야 안 쓸 수가 없는 것.
유니티의 컴포넌트는 대개 그 이름 그대로를 클래스 명으로 사용한다.
그렇다면 스크립트로도 Animation Controller를 사용하면 조절 가능하겠지? 라고 AnimationController를 사용하면...
일단 당장에 오류는 나지 않는다. 오히려 수월하게 진행되는 편이다.
다만, Build할 때에 문제가 생긴다.
왜 그런지 살펴보자.
UnityEditor 패키지
UnityEditor 패키지는 유니티라는 개발 툴 자체에서의 기능을 조절할 수 있게 해 주는 패키지다.
다르게 말하면, 유니티 이외의 환경에서는 오히려 짐덩어리다.
그렇기 때문에 유니티에서는 UnityEditor 패키지는 빌드를 할 떄에 자동으로 배제하고 작동하게 된다.
이것이 상술한 AnimationController 클래스의 난점이다.
자, 이제 상술한 AnimationController로 돌아가 보자.
UnityEditor 패키지를 설명한 걸 보면 알겠지만, AnimationController는 UnityEditor 내부 클래스다.
그렇기 때문에 빌드할 때에 배제되게 되며, 이로 인해서 오류가 발생하는 것이다.
그럼, 애니메이션을 쓸 수가 없는 것일까?
당연하지만, 그건 아니다. 그저 이름이 다를 뿐이다.
RuntimeAnimationController가 UnityEngine의 내부 클래스로, 이걸 써야지 정상적으로 빌드가 가능하다.
만약에 함수를 썼을 때에 using문에 UnityEditor가 나왔다고 한다면 십중팔구는 이러한 흐름이기 때문에, 이에 대해서는 주지하고 있는 것이 좋다.
'스파르타 내일배움캠프 > Today I Learned' 카테고리의 다른 글
Today I Learned - Day 86 [모바일 화면 설정을 해 보자.] (0) | 2025.01.15 |
---|---|
Today I Learned - Day 85 [UI 내부에서의 마우스 좌표 찾기] (0) | 2025.01.14 |
Today I Learned - 82 [지형 절차적 생성 - 구조 선택형] (0) | 2025.01.09 |
Today I Learned - Day 81 [Sorting Order에 대해서.] (1) | 2025.01.08 |
Today I Learned - Day 80 [스프라이트 에셋의 설정] (0) | 2025.01.08 |