2017년 4월 25일 화요일

FBX Animation 및 Key Event를 사용하기

최근 작업 중에 3D 캐릭터의 애니메이션 재생이 필요했는데,
상황이 닥치면 하려고 신경쓰고 있지 않다가,
가이드가 살짝 필요한 상황이 되어서 간단히 남겨본다.

----------------------------------------------------------------------------------------

Unity 는 FBX 파일의 애니메이션 재생이 가능하다.
하지만, FBX 파일 그대로는 ReadOnly 라서 이것을 따로 복제해서 사용해야 한다.

시간이 없어서 일단 글만 먼저 정리!

[FBX 에서 애니메이션 파일을 가져오기]

1. 캐릭터 모델 데이터와 애니메이션 FBX 를 준비한다. (맥스, 마야, 블렌더 등등)

2. 1을 Unity Asset 폴더에 넣는다.

3. Unity 내 Project 탭에서 애니메이션 FBX 를 클릭해서 드롭다운 메뉴를 연다.
Animation 아이콘이 보이면 이것을 Control + D 해서 복제 한다.

4. Hierarchy 에 사용할 3D 캐릭터 모델을 배치

5. 해당 모델에 Animator 를 세팅

6. Animator 에서 움직일 Animation 을 3에서 복제한 Animation 파일로 지정한다.
(FBX 파일 내에 있는 것 말고 복제해서 밖에 생긴 것을 지정)

7. Unity 내에서 WIndow > Animation 탭을 연다.

8. Animation 탭이 열린 상태로 Hierarchy 의 모델 데이터를 클릭하면, 현재 적용된 Animation 을 확인할 수 있고 유니티 내에서 수정도 가능하다.

9. 끝


[Animation Frame에 Key Event 넣기]

FBX 파일 그대로 사용하기는 불가능 (Read Only)하기 때문에 먼저 애니메이션 파일을 복제해두어야 한다. (위 부분 FBX에서 애니메이션 파일을 가져오기를 먼저 한다.)

1. 적당한 C# 스크립트를 하나 만든다.
Ex) AnimationEventManager.cs
public void KeyEventReceiver(GameObject _obj)
        {
            Instantiate(_obj, this.transform, false);
        }

2. 만든 스크립트를 사용할 모델의 게임오브젝트에 add 한다.
(Animator가 붙어있는 gameObject)

3. Unity > Window > Animation 탭에서 Key Event 를 붙이고 싶은 Animation 을 선택한다.

4. Add Key Event 를 선택

5. 만들어진 Key를 클릭해서 Inspector 를 보면 호출할 함수를 풀다운 메뉴에서 선택할 수 있다. (만일 안되면 아까 그 키를 오른 클릭해서 Edit Key Event 선택)
여기에서 아까 만든 스크립트의 KeyEventReceiver() 를 선택한다.

6. 같은 화면의 GameObject 패러미터에 해당 이벤트 동작 시마다 생성할 프리팹을 끌어다 놓는다.

7. 끝.


참고 페이지 : https://docs.unity3d.com/Manual/animeditor-AnimationEvents.html

댓글 없음:

댓글 쓰기