[사족]
일이 바빠서 포스팅은 당분간 엄청 불규칙적이며, 정규적으로 올렸던 정보글도 일시중단입니다.
[들어가기 전]
이 글은 두 컴포넌트가 무엇인지 자세히 다루는 것이 아닌, 작업자가 오해할 수 있는 요소들에 대한 글입니다.
Animator
정의
Bone에 대한 정보가 정의되어 있는 Avatar를 토대로 애니메이션을 재생할 수 있도록 도와주는 컴포넌트입니다.
Avatar 교체하기
Avatar에는 해당 캐릭터에 대한 Bone의 정보를 갖고있습니다. Bone들의 집합체인 root 오브젝트의 명칭, 각 Bone에 대한 명칭과 어느 부위에 해당하는지에 대한것이 명시되어있습니다. 따라서, Inspector에서 Avatar를 교체하면 Animator가 각 Bone을 인지 못하고 동작하지 못할 수 있습니다.
계층구조의 변경
대부분 런타임 중에 Hierachy 상의 구조를 변경하거나 할 수 있습니다. 이 때 정상적으로 동작하지 않는다면 아래 코드를 이용해야 합니다.
animator.Rebind();
RootBone과 Bone의 명칭 변경
Avatar 교체하기에서도 언급했듯이 Avatar에 명시된 명칭과 달라지면서 본을 인지하지 못하게 됩니다.
Skinned Mesh Renderer
정의
메쉬의 형태가 애니메이션(Bone)에 따라 움직이는 오브젝트의 렌더링을 위한 컴포넌트입니다.
Mesh 교체하기
많은 사람들이 해당 컴포넌트를 처음 접하고서 Mesh만 교체하면 정상적으로 렌더링 될 것이라 생각합니다. 하지만, Skinned Mesh Renderer는 Bone을 기준으로 형태가 변화하기에 Mesh에 맞는 Bone을 입력해줘야합니다.
그리고 해당 Bone은 Inspector상에서 설정할수도 없고, Mesh와 함께있던 Bone들을 삭제했으면 Bone에 대한 정보도 사라져 정상적으로 정정작업을 할 수 없게됩니다.
'Unity > 3D' 카테고리의 다른 글
Unity C# Tutorials - Mesh Deformation(Making a Stress Ball) 번역본 (0) | 2019.07.12 |
---|---|
Unity C# Tutorials - Cube Sphere(Better Roundness) 번역본 (0) | 2019.07.06 |
Unity C# Tutorials - Rounded Cube(Building in 3D) 번역본 (1) | 2019.07.06 |
Unity C# Tutorials - Procedural Grid (Programming Form) 번역본 (0) | 2019.06.28 |