[UE4] Animation(애니메이션)

윤정민·2022년 7월 20일
0

Unreal Engine

목록 보기
15/34

1. Import

  • 애니메이션은 import하기 위해서 스켈레톤을 지정해야 함.
  • 이때 스켈레톤은 애니메이션을 적용하고자 하는 asset의 스켈레톤으로 지정해주어야 함.

2. Blend Space

  • Anim Graph에서 샘플링할 수 있는 특수 에셋으로, 두 입력값에 따라 애니메이션을 블렌딩시켜주는 것.
  • 하나의 입력에 따라 두 애니메이션을 섞는 단순 블렌딩은 애니메이션 블루프린트에서 쓸 수 있는 표준 블렌드 노드를 사용하면 됨
  • 블렌드 스페이스를 통해 다수의 값에 따라 다수의 애니메이션을 블렌딩하는 복잡한 작업을 할 수 있다.

1) Blend Space 생성

  • 애니메이션 > 블렌드 스페이스 를 선택

  • 스켈레톤 선택 대화창에서 블랜딩할 애니메이션의 메쉬의 스켈레톤을 선택

  • 최종적으로 비어져있는 블랜딩 스페이스를 볼 수 있음

2) Blend Space 편집

  • 축 세팅 : 디테일 패널에서 축 세팅을 정의하여 그리드를 구성
    • 일반적인 경우 Horizontal Axis(가로축)과 Vertical Axis(세로 축)을 입력
    • 블렌드 스페이스 1D는 Horizontal Axis (가로축)만 사용하도록 정의
    • 정의 가능 프로퍼티 :
      Name : 블렌드 스페이스 에디터 그리드에서 이 축에 표시할 이름
      Minimum Axis Value : 최소 축 값
      Maximum Axis Value : 최대 축 값
      Number of Grid Divisions : 그리드 분할 수
      Interpolation Time : 보간 시간
      Interpolation Type : 보간 유형(타깃에 이르는 방법)
  • 샘플 포즈
    • 에셋 브라우저에서 애니메이션을 끌어 축 값에 끌어 놓을 수 있음
    • 샘플 포즈를 몇 개 배치했으면, Shift키를 누르고 초록 다이아몬드를 끌어 여러 포즈 사이의 블렌딩을 확인할 수 있음
  • 그리드 옵션
    - 블랜드 스페이스 에디터 그리드 안에서는, Show Triangulation, Show Animation Names, Strech세팅 조절도 가능함

    더 자세한 내용은 : https://docs.unrealengine.com/4.27/ko/AnimatingObjects/SkeletalMeshAnimation/Blendspaces/Editor/

3) Blend Space 사용하기

  • 블랜드 스페이스 노드의 제공 : 샘플 파라미터 데이터에 대한 접근 &블렌드 스페이스의 포즈
  • 블랜드 스페이스 노드 추가하기
    • 애니메이션 블루프린트의 Anim Graph 내 에셋 브라우저에서 샘플링하려는 블렌드 스페이스를 찾음
    • Anim Graph로 드래그&드랍
  • 파라미터 샘플링
    • 블렌드 스페이스는 샘플 파라미터에 전달되는 데이터에 의존하여 애니메이션 블랜딩을 수행
    • 블렌드 스페이스 노드에는 각 샘플 파라미터에 대한 입력 데이터 핀이 존재함
    • 다른 노드의 변수나 출력을 연결하여 데이터를 전달받아 블렌딩을 구동
    • 애니메이션 포즈를 입력으로 받을 수도 있음

3. Animation Blueprint

1) 애니메이션 블루프린트 생성

(1)기본 생성방법

  • Animation > 애니메이션 블루프린트 선택
  • Animation을 적용하려는 스켈레톤을 지정
  • 애니메이션 블루프린트가 생성됨

(2)컨텍스트 메뉴 생성

  • 원하는 스켈레톤을 우클릭
  • 생성 > 애니메이션 에셋 생성 > 에님 블루프린트 생성 선택
  • 이름 편집 후 완료

2) 애니메이션 블루프린트 작업

(1)Event Graph

  • 블루프린트 애니메이션 초기화 : 연산 초기화를 위해 생성시 한번 실행 됨
  • 블루프린트 애니메이션 업데이트 : 필요한 값 계산이나 업데이트를 할 수 있도록 하기위해 매 프레임 실행되는 이벤트

(2) Anim Graph

  • 현재 프레임에 대한 스켈레탈 메시의 최종 포즈를 구하는데 사용
  • 실행 흐름 : 모든 그래프에는 그래프 노드상 실행 핀 사이를 흐르는 신호선으로 실행 흐름이 표시됨
  • 애님 그래프 작업
    • 애니메이션 블랜딩 : 블랜드 노드를 사용해 이루어짐
    • 애니메이션 노드 : 입력 포즈에 블랜딩, 직접 본 조작 등과 같은 작업에 사용
    • 애니메이션 시퀀스 : 최종 포즈를 구동 시킬 때 사용
    • 블랜드 스페이스 : 변수에 따라 포즈를 블랜딩
    • 스켈레탈 컨트롤 : 스켈레탈 내 본을 직접 구동
    • 좌표계 변환 : 포즈의 기준 좌표계를 로컬-컴포넌트 변환시키는 노드
    • 스테이트 머신 : 애니메이션 상태를 결정
    • 싱크 그룹 : 연관성은 있지만 길이가 다를 수 있는 애니메이션의 동기화 상태를 유지
      더 자세한 내용은 : https://docs.unrealengine.com/4.27/ko/AnimatingObjects/SkeletalMeshAnimation/AnimBlueprints/AnimGraph/
profile
그냥 하자

0개의 댓글