애니메이션 레이어 편집하기

Idle 애니메이션을 편집하여 애니메이션 레이어 편집을 통해 새로운 Reload 애니메이션을 만듭니다.

Windows
MacOS
Linux

애니메이션 레이어 편집은 기존 애니메이션 시퀀스 를 언리얼 엔진 4 안에서 Additive Layer Tracks (애디티브 레이어 트랙)의 일부로 편집할 수 있도록 해주는 기능입니다. 이를 통해 기존 애니메이션을 가지고 해당 애니메이션에서 다른 테이크를 만들거나, 원본에서 파생된 별도의 모션을 가진 새로운 독립 애니메이션을 만들 수도 있습니다.

여기서는 애니메이션 레이어 편집 툴을 사용하여 Idle 애니메이션을 Reload 애니메이션으로 용도 변경하는 법을 보여드리겠습니다.

여기서는 블루프린트 일인칭 템플릿에 시작용 콘텐츠 를 포함시켜 새로 만든 프로젝트를 사용하고 있습니다.

단계

  1. Content/FirstPerson/Animation 폴더의 FirstPerson_Idle 애니메이션을 복제하고 이름을 FirstPerson_Reload 이라 합니다.

    LayerAnimation_01.png

  2. FirstPerson_Reload 에서 애니메이션을 0 프레임에 일시정지시키고, 스켈레톤 트리upperarm_l 본을 클릭한 뒤 Key (키) 버튼을 클릭합니다.

    LayerAnimation_02.png

    그러면 Additive Layer Tracks (애디티브 레이어 섹션)에 upperarm_l 현재 위치에 대한 Transform, Rotation, Scale (이동, 회전, 스케일) 키가 추가됩니다.

    LayerAnimation_03.png

  3. 타임라인을 15 프레임으로 이동시킵니다.

    LayerAnimation_04.png

  4. upperarm_l 본을 -70 도 회전시킨 뒤 Key (키) 버튼을 누릅니다.

    LayerAnimation_05.png

    그러면 애니메이션이 15 프레임에 있을 때 본 위치에 대한 키가 추가됩니다.

  5. 타임라인을 20 프레임으로 이동시키고, upperarm_l 본을 기본 위치에서 70 도 회전시킨 후 Key 버튼을 누릅니다.

    LayerAnimation_06.png

    20 프레임에 걸쳐 팔이 내려가다가 기본 위치로 다시 올라옵니다.

  6. 타임라인 마커에 우클릭 하고 Remove from frame 20 to frame 92 를 선택합니다.

    LayerAnimation_07.png

    그러면 애니메이션에서 나머지 프레임은 제거되고, 리로드 애니메이션만 남습니다.

  7. 콘텐츠 브라우저 에서 FirstPerson_Reload 애니메이션에 우클릭 하고 Create AnimMontage (애님 몽타주 생성)을 선택합니다.

    LayerAnimation_08.png

    이것을 사용하여 플레이어가 게임 도중 지정된 키를 누르면 새로운 리로드 애니메이션을 재생합니다.

  8. 새 애님 몽타주를 연 뒤, 슬롯이 DefaultGroup.Arms 슬롯을 사용하도록 변경합니다.

    LayerAnimation_09.png

    아래에서 템플릿 캐릭터에 할당된 애니메이션 블루프린트는 Slot 노드 를 사용하여 "Arms" 슬롯에 할당된 애님 몽타주를 재생하도록 구성되어 있습니다.

    LayerAnimation_13.png

    무기 발사 애니메이션 재생 처리에는 현재 이것이 사용되고 있는데, 이것을 리로드 애니메이션에도 사용할 것입니다.

  9. Content/FirstPersonBP/Blueprints 폴더에서 FirstPersonCharacter 블루프린트를 엽니다.

    LayerAnimation_10.png

    템플릿에 할당된 캐릭터 블루프린트이자 우리 플레이 캐릭터입니다.

  10. Spawn Projectile 스크립트를 찾아 Ctrl 키를 누르고 아래 표시된 Mesh2P, Get Anim Instance, Montage Play 노드를 선택합니다.

    LayerAnimation_11.png

    이 노드는 스켈레탈 메시에 할당된 애니메이션 인스턴스를 구해 애니메이션 몽타주, 여기서는 무기 발사 몽타주 재생 신호를 보냅니다. 똑같은 스크립트를 사용하여 지정된 키를 누르면 리로드 애니메이션 몽타주를 호출하도록 하겠습니다.

  11. 우클릭 후 선택된 노드를 복사한 뒤, 그래프 빈 곳에 붙여넣습니다.

  12. 우클릭R Key Event 를 추가하고 붙여넣은 노드에 아래와 같이 연결, Montage to Play 는 리로드 몽타주로 설정합니다.

    LayerAnimation_12.png

  13. 컴파일에디터에서 플레이 합니다.

최종 결과

에디터에서 플레이하고, R 키를 누르면 캐릭터의 손이 화면 밖으로 나아가 총으로 올라간 뒤 리로드 모션을 시뮬레이션합니다.

타임라인 상의 프레임으로 이동한 다음 변경하고자 하는 본을 선택한 뒤 키를 추가하고, 타임라인을 약간 앞으로 옮기고 본을 새 위치로 옮겨 다시 키를 추가하는 식으로, 이 애니메이션 변경 작업을 계속할 수 있습니다. 타임라인이 진행하면서 본은 생성된 커브를 따라 첫 키에서 두 번째 키로 이동합니다. 예제의 본은 얼마든지 수정하여 정교하게 만들 수 있으며, 키 작업은 동일합니다.

잦은 질문

애니메이션을 익스포트하면 어떻게 되나요?

  • 익스포트하면, 가능한 애니메이션 중 구운 버전이 될 것입니다. 모든 커브를 적용하면, 커브와 함께 적용될 것입니다.

애니메이션을 리임포트하면 어떻게 되나요?

  • 애니메이션을 리임포트하면 소스 데이터를 덮어쓰고 커브를 적용합니다. 커브가 필요없다면 지워도 됩니다.

트랙을 임시로 비활성화 또는 제거할 수 있나요?

  • 네, 트랙 창의 우상단 구석에 있는 트랙 옵션 메뉴에서 두 작업 모두 가능합니다.

    AnimEdit25.png

편집된 애니메이션과 원본의 차이를 확인할 수 있는 방법이 있나요?

  • 표시 메뉴 옵션 중 뷰포트에 소스 애니메이션 및 (또는) 구은 애니메이션 을 표시하도록 할 수 있습니다. 아래 그림에서 소스 애니메이션은 흰색 스켈레톤으로 보이는 반면, 구은 애니메이션은 파랑색 스켈레톤으로 보입니다.

    LE_SourceBakedAnim.png

    표시 -> 본 계층구조 메뉴에서 표시를 켰는지만 확인하면 됩니다.

애니메이션 레이어 편집을 사용하여 루트 모션을 만들 수도 있나요?

  • 네, 루트 본을 선택하고 키를 추가한 다음, 타임라인을 앞으로 이동한 뒤 루트 본을 이동하여 다시 키를 추가하면 됩니다.

    LE_ThirdPersonAnim.png

    위에서는 소스 / 구은 애니메이션 미리보기를 켰으며, 흰색 스켈레톤이 소스 애니메이션입니다.

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼