본문 바로가기

Unity3D/Edit FBX Anim

Unity 3D Edit FBX Animation

유니티 3D에서 FBX 모델에 포함된 애니메이션을 임포트하여 편집하는 예


유니티에서 FBX 모델을 임포트하면 그 안에 애니메이션이 포함되어 있는 경우 유니티에서 그 애니메이션을 편집을 거치지 않고 그대로 이용할 수 있다.

그런데 임포트한 애니메이션을 편집하여 좀더 재미있고 실감나는 효과를 더하기 위해서는 임포트한 애니메이션을 그대로 사용하지 않고 약간의 편집을 거쳐서 사용할 수도 있다. 그런데 임포트한 애니메이션을 바로 편집할 수는 없는데, 임포트한 애니메이션은 Read Only 상태이기 때문이다. 그러므로 임포트한 애니메이션을 일단 유니티에서 복사(CTRL + D)하여 원본을 대치한 후에 애니메이션 윈도우에서 편집을 하면 된다

여기서는 외부 FBX 모델에 포함된 애니메이션을 유니티의 Project 뷰로 임포트하고 애니메이션이 실행되는 중간에 모델의 색상을 변경해보고자 한다

사용된 FBX 모델을 TF3DM 사이트에서 다운로드할 수 있다

Warrior.zip


FBX 모델 임포트

다음과 같이 유니티 프로젝트 뷰로 FBX 모델과 텍스쳐를 임포트하고 Project 뷰에서 모델을 드래그하여 Hierarchy 뷰에 놓으면 Scene 뷰에도 모델이 나타난다.




임포트한 모델에 텍스쳐 적용하기

임포트된 FBX 모델에 텍스쳐가 적용되어 있지 않은 상태라면 수동으로 텍스쳐 이미지를 연결해 주어야 한다. 위의 그림에서 Project 뷰를 보면 임포트된 모델 위에 3개의 텍스쳐 이미지가 함께 임포트되어 있음을 확인할 수 있다. 수동으로 모델에 텍스쳐 이미지를 적용할 때는 모델을 구성하는 메시를 확인하고 각 메시에 적용된 Material 마다 하나의 텍스쳐 이미지를 연결해주면 된다.

모델을 구성하는 하위 메시(Mesh)를 확인하려면 Hierarchy 뷰에서 모델 오브젝트의 하위 노드를 열고노드마다 선택해 가면서 Scene 뷰의 모델에서 선택되는 부위를 찾아내면 된다. 아래의 경우 모델 오브젝트의 하위 노드 중에서 첫번째 1 이라는 이름의 노드를 선택하면 Scene뷰에서 모델 전체가 선택되는 것을 볼 수가 있다. 그리고 동시에 Inspector 뷰에서 3개의 재질(Material) 을 설정할 수가 있는데 이곳에 텍스쳐 이미지를 Project 뷰로부터 드래그하여 연결해주면 된다




애니메이션 설정

위의 설정을 만으로는 FBX 에 포함된 애니메이션을 실행할 수는 없고 약간의 애니메이션 설정이 필요하다. Project 뷰에서 모델을 선택하고 Inspector 뷰에서 Model 탭을 선택한 후 Scale Factor 를 조정하고 아래의 Apply 버튼을 눌러서 적용해주면 된다







Rig 탭을 선택하고 아래 그림처럼 Legacy, Apply 를 차례로 선택하여 적용한다

여기서 Legacy 는 기존 유니티에서 지원하던 애니메이션 방식을 사용한다는 의미이다. 새로 도입된 Mecanim 방식의 애니메이션은 여기서는 다루지 않고 별도의 페이지에서 다루려고 한다.




Animations 탭을 누르면 현재 FBX 에 포함된 애니메이션 클립의 갯수만큼 Clips 테이블에 정보가 표시된다. 아래의 경우 애니메이션 클립의 이름은 Take 001 이고 프레임 수는 100 으로 확인된다. 아래의 그림에서 Take 001 이라는 애니메이션 클립의 이름을 클릭하면 애니메이션을 설정할 수 있는 툴이 나타난다




Wrap ModeLoop 으로 선택하면 일단 애니메이션이 실행되면 무한 반복되도록 설정된다. 하단에 있는 Apply 버튼을 눌러 적용하면 된다




이제 애니메이션을 테스트할 수 있다. Play 버튼을 눌러 실행해본다




위의 테스트 결과 애니메이션은 제대로 실행되는 것을 확인할 수 있다. 



임포트한 FBX 애니메이션 편집

이제 애니메이션을 편집하여 애니메이션의 중간쯤에서 모델의 머리부분 색상이 붉게 변하도록 설정하려고 한다

임포트한 애니메이션은 Read Only 상태라서 직접 편집이 안되므로 임포트한 애니메이션을 복사(CTRL + D)하여 원본 애니메이션을 사본 애니메이션으로 대치하면 애니메이션 윈도우에서 편집이 가능하게 된다


아래 그림에서 Project 뷰의 모델의 하위 노드를 열어보면 애니메이션 클립은 오른쪽을 향하는 삼각형 아이콘으로 표시되어 있는데, 애니메이션 클립을 선택하고 CTRL + D를 누르면 Assets 폴더 안에 원본과 동일한 이름으로 사본이 생성되는 것을 확인할 수 있다.




원본 애니메이션을 사본 애니메이션으로 대치

일단 사본 애니메이션의 이름을 원본과 달리하여 Warrior_Anim 등으로 변경하여 구분이 쉽도록 하고, Hierarchy 뷰에서 모델 오브젝트를 선택하면 모델 오브젝트에 포함된 Animation 콤포넌트의 설정 섹션이 Inspector 뷰에 나타나므로 여기서 설정 아이콘을 눌러서 사본을 지정하거나 사본을 드래그하여 연결해 주면 된다




사본 애니메이션 실행 테스트

사본으로 애니메이션이 대치되었는데 그 내용은 완전히 동일하기 때문에 실행 테스트를 하면 원본과 동일하게 제대로 실행되는 것을 확인할 수 있다




이제 오브젝트에 사본 애니메이션이 설정되어서 정상적으로 실행되는 것을 확인했으므로 Hierarchy 뷰에서 모델 오브젝트의 를 선택하고 Window > Animation 항목을 선택하여 애니메이션 윈도우를 연다. 이 때 모델 오브젝트의 하위 노드에 있는 실제 메시를 선택한다. 아래의 그림에서는 Hierarchy 뷰에서 모델 오브젝트의 아래에 있는 1 노드를 선택하고 Window > Animation 항목을 선택한다.






위와 같이 선택하면 아래의 그림처럼 애니메이션의 첫 프레임이 키 프레임으로 설정되고 애니메이션 윈도우와 유니티 편집 윈도우에 적색 녹화표시와 버튼이 설정되는 것을 볼 수 있는데, 이는 지금부터 애니메이션 윈도우와 Inspector 뷰에서 설정한 내용은 녹화되어 애니메이션으로 반영된다는 것을 나타낸다


애니메이션의 마지막 프레임인 100 프레임도 키프레임으로 설정한다

프레임 번호를 입력하는 곳에 100 을 입력하고 Add Keyframe 아이콘을 누르면 100번째 프레임에 키프레임이 설정된다. 이렇게 하여 첫번째 프레임과 마지막 프레임에 키플레임이 설정되었고 그 내용은 기존 색상을 그대로 유지하는 것으로 설정된다.




애니메이션의 중간에 해당하는 50번째 프레임에도 키프레임을 설정하고 색상을 붉은 색상으로 설정한다.

색상을 입력할 때는 애니메이션 윈도우에서 수치를 바로 입력해도 되고 아래 그림처럼 Inspector 뷰의 해당 Material 섹션에서 Main Color 항목에서 색상을 선택해도 된다. Main Color 항목에서 색상을 선택하면 애니메이션 윈도우에 자동으로 색상정보가 수치로 입력이 되는데, 최대 1을 넘지 않는다. 애니메이션 윈도우에서는 색상에 해당하는 수치를 입력할 때 1을 초화하는 수치도 가능하며 1보다 강한 색상을 표현할 수도 있다.




키프레임 설정을 마쳤으면 애니메이션 윈도우의 적색 녹화버튼을 다시 눌러서 녹화해제 상태로 전환한다.




애니메이션 윈도우를 닫고 Play 모드로 테스트해 보면 다음 그림과 같이 애니메이션의 중간 쯤에서 모델의 머리 부분이 점차 붉어졌다가 다시 원래대로 돌아오는 것을 확인할 수 있다