Version: 2023.2
언어: 한국어
애니메이션 전환
플레이어블 API

애니메이션 FAQ

일반적인 질문

애니메이션 창과 애니메이터 창의 차이는 무엇입니까?

Animation 창을 사용하면 Unity 내에서 애니메이션 클립을 만들고 편집할 수 있습니다.Aminmation 창을 사용하여 인스펙터에서 게임 오브젝트의 위치, 머티리얼 컬러, 광원의 밝기, 소리 크기, 스크립트의 임의 값까지 편집할 수 있는 거의 모든 프로퍼티를 애니메이션화할 수 있습니다.

Animator 창을 사용하면 상태 머신이라고 불리는 플로차트와 비슷한 시스템에 기존 애니메이션 클립 에셋을 정리할 수 있습니다.

두 창은 레거시 애니메이션 시스템이 아닌 Unity 애니메이션 시스템의 일부입니다.

캐릭터 애니메이션에 레거시 애니메이션 시스템을 사용하고 있습니다. 대신에 Unity의 애니메이션 시스템(메카님)을 사용해야 합니까?

네. 일반적으로 대부분의 캐릭터 애니메이션은 더 복잡하므로 Unity의 애니메이션 시스템을 사용해야 합니다.

임포트

왜 임포트한 메시가 Animator 컴포넌트를 가지고 있는 것입니까?

Unity는 임포트한 파일이 타임라인 안에 애니메이션을 가지고 있는 경우 임포트할 때 Animation 컴포넌트를 추가합니다.Rig 탭의 임포트 설정에서 “Animation Type”을 None 으로 설정하여 에셋의 임포트 설정을 수정할 수 있습니다.필요한 경우 여러 파일을 한 번에 처리할 수 있습니다.

레이어

레이어의 순서는 중요합니까?

그렇습니다. 레이어는 맨 위에서 아래로 순서대로 평가됩니다. 오버라이드 로 설정된 레이어는 항상 이전 순서의 레이어를 오버라이드합니다(마스크가 있으면 그 마스크에 따릅니다).

베이스 레이어의 가중치 값은 항상 1로 해야합니까? 아니면 또 다른 레이어가 사용되고 있을 때는 0으로 설정해야 합니까?

기본 레이어의 가중치는 항상 1이며 오버라이드 레이어가 기본 레이어를 완전히 오버라이드합니다.

컨트롤러에서 이름 문자열을 사용하지 않고 변수 값을 얻는 방법이 있습니까?

정수를 사용하여 상태 및 파라미터를 식별할 수 있습니다. Animator.StringToHash 함수를 사용하여 정수 식별자 값을 얻으십시오. 예:

runState = Animator.StringToHash("Base Layer.Run");
animator.SetBool(runState, false);

동기화 레이어 상태의 길이와 베이스 레이어 상태의 길이가 다르면 어떻게 됩니까?

레이어의 길이가 다른 경우 비동기화됩니다.Timing 옵션을 활성화하면 현재 레이어와 소스 레이어의 상태 타이밍을 강제로 맞출 수 있습니다.

아바타 마스크

왼발과 오른발, 왼손과 오른손 이외의 AvatarIKGoals를 만드는 방법이 있습니까?

네, 무릎과 팔꿈치 IK가 지원됩니다.

어떤 트랜스폼이 아바타 마스크의 일부인지 정의할 수 있습니까?

네, 일반 클립에서 어떤 변환 애니메이션을 임포트했는지 정의할 수 있습니다.휴머노이드 클립의 경우 모든 인간형 트랜스폼은 항상 임포트되며 추가 트랜스폼을 정의할 수 있습니다.

애니메이션 커브

커브가 없는 애니메이션에 커브가 포함된 애니메이션을 어떻게 블렌드할 수 있습니까?

커브가 있는 애니메이션과 커브가 없는 애니메이션이 있는 경우, Unity는 커브에 연결된 파라미터의 기본값을 사용하여 블렌딩합니다. 파라미터에 기본값을 설정할 수 있으므로, Curve 파라미터가 있는 상태와 Curve 파라미터가 없는 상태를 커브 값과 기본 파라미터 값 사이로 블렌딩합니다. 파라미터의 기본값을 설정하려면 라이브링크 내부가 아니라 Animator 툴 창에서 값을 설정해야 합니다.

애니메이션 전환
플레이어블 API