“메카님”은 무엇입니까?
메카님은 Unity에 통합된 애니메이션 소프트웨어의 이름입니다. Unity 4.x 시리즈 초기 단계에서 메카님은 특히 인간형 캐릭터 애니메이션 제작에 주안점을 두고 있었으며, 목적에 적합한 특징있는 기능을 많이 갖추고 있습니다. 메카님은 Unity의 이전 애니메이션 시스템(현재는 레거시 시스템)과는 별개입니다.
Mecanim integrated humanoid animation retargeting, muscle control, and the state machine system. The name “Mecanim” comes from the French word “Mec” meaning “Guy”. Since Mecanim operated only with humanoid characters, our legacy animation system was still required for animating non-humanoid characters and other keyframe-based animation of GameObjects within Unity.
그러나 이후에, Unity는 메카님을 개발하고 확장해왔으며 나머지 애니메이션 시스템과 통합하여 프로젝트의 모든 애니메이션 작업에 사용될 수 있도록 했습니다. 이런 이유로 “메카님”이 끝나고 나머지 애니메이션 시스템이 시작되는 시점을 확실하게 구별하기가 어렵습니다. 이런 이유로 문서의 레퍼런스와 커뮤니티 전반에서 “메카님”에 대한 언급을 보게 되는 것입니다. 이제는 단순히 메인 애니메이션 시스템을 가리키는 말로 사용됩니다.
Animation 컴포넌트와 Animator 컴포넌트의 차이는 무엇입니까?
Animation 컴포넌트는 레거시 애니메이션 시스템의 애니메이션에 사용된 이전 컴포넌트입니다. Unity에 아직 남아있는 이유는 이전 버전과의 호환성 때문이므로, 새 프로젝트에 사용해서는 안 됩니다. 대신 최신 Animator 컴포넌트를 사용합니다.
애니메이션 창과 애니메이터 창의 차이는 무엇입니까?
The Animation Window allows you to create and edit animation clips within Unity. You can use it to animate almost every property that you can edit in the inspector, from a Game Object’s position, a material color, a light’s brightness, a sound’s volume, and even arbitrary values in your own scripts.
The Animator Window allows you to organize your existing animation clip assets into a flowchart-like system called a state machine.
두 창은 현재 애니메이션 시스템의 일부이며, 레거시 시스템이 아닙니다.
그렇다면 Animation 컴포넌트는 레거시지만 애니메이션 창은 현재 시스템의 일부입니까?
그렇습니다.
레거시 애니메이션 시스템을 캐릭터 애니메이션에 사용하고 있습니다. 대신에 현재 애니메이션 시스템(메카님)을 사용해야 합니까?
일반적으로는 그렇게 해야 합니다. 레거시 애니메이션 시스템은 과거 프로젝트와 같이 이전 버전과의 호환성을 위해서만 존재하며 현재의 애니메이션 시스템과 비교하면 매우 제한된 기능 밖에 없습니다. 단지 과거의 프로젝트를 이전 시스템에서 작성하는 경우에만 레거시 애니메이션 시스템을 사용해야 합니다.
왜 임포트한 메시가 Animator 컴포넌트를 가지고 있는 것입니까?
When Unity detects that an imported file has animation in its timeline, it will add an animation component on import. You can modify this in the asset’s import settings by setting the “Animation Type” to None in the import settings under the Rig tab. If necessary you can do this with several files at once.
레이어의 순서는 중요합니까?
그렇습니다. 레이어는 맨 위에서 아래로 순서대로 평가됩니다. 오버라이드 로 설정된 레이어는 항상 이전 순서의 레이어를 오버라이드합니다(마스크가 있으면 그 마스크에 따릅니다).
베이스 레이어의 가중치 값은 항상 1로 해야합니까? 아니면 또 다른 레이어가 사용되고 있을 때는 0으로 설정해야 합니까?
기본 레이어의 가중치는 항상 1이며 오버라이드 레이어가 기본 레이어를 완전히 오버라이드합니다.
컨트롤러에서 이름 문자열을 사용하지 않고 변수 값을 얻는 방법이 있습니까?
정수를 사용하여 상태 및 파라미터를 식별할 수 있습니다. Animator.StringToHash 함수를 사용하여 정수 식별자 값을 얻으십시오. 예:
runState = Animator.StringToHash("Base Layer.Run");
animator.SetBool(runState, false);
동기화 레이어 상태의 길이와 베이스 레이어 상태의 길이가 다르면 어떻게 됩니까?
If layers are of different lengths, they will become unsynchronized. Enable the Timing option to force the timing of the states on the current layer, on the source layer.
왼발과 오른발, 왼손과 오른손 이외의 AvatarIKGoals를 만드는 방법이 있습니까?
네, 무릎과 팔꿈치 IK가 지원됩니다.
어떤 트랜스폼이 아바타 마스크의 일부인지 정의할 수 있습니까?
Yes, for Generic clips you can define which transform animation is imported or not. For Humanoid clips, all human transforms are always imported and extra transforms can be defined.
커브가 없는 애니메이션에 커브가 포함된 애니메이션을 어떻게 블렌드할 수 있습니까?
When you have an animation with a curve and another animation without a curve, Unity will use the default value of the parameter connected to the curve to do blending. You can set default values for your parameters, so when blending takes place between a State that has a Curve Parameter and one that does not have one, it will blend between the curve value and the default parameter value. To set a default value for a Parameter, simply set its value in the Animator Tool window while not in LiveLink.