Home [UE4] Skeleton Assets: Overview
Post
Cancel

[UE4] Skeleton Assets: Overview

Skeleton Assets: Overview를 보고 정리한 문서

Skeleton Assets


캐릭터 생성

  1. 스켈레탈 메시로 외형부터 만든다.
    • 스켈레탈 메시 == 3D모델
  2. 스켈레톤 구성 즉, 캐릭터의 리깅 작업
    • 본이나 관절 계층 구조의 추가 및 정의 등이 진행된다.
    • 캐릭터의 포즈 조정이 가능해짐.
  3. 타임라인 상에서 각 포즈들에 키 프레임 지정
    • 포즈에 애니메이션을 부여하는 식으로 애니메이션 제작

임포트

  • 외부 => 언리얼 임포트
  • 오해 한가지: 1:1 로 대응되는 스켈레톤이 있어야한다는 점
    • 그럴 필요는 없음.(몇몇 조건들이 있긴함.)
    • 본과 계층 구조 정보만을 요구함
  • 언리얼의 스켈레톤은 3D 본 보다는 목록에 더 가까움.
    • 목록: 스켈레탈 메시에서 활용하는 본과 계층구조 정보가 포함되어 있다.
    • 스켈레톤 트리는, 관련 스켈레탈 메시의 애니메이션을 구동하는 데 사용
  • 하나의 스켈레톤 애셋과 스켈레톤 트리를 여러 스켈레탈 메시에서 공유할 수 있다.

  • 스켈레톤 애셋은 그저 스켈레탈 메시의 릭 작업에 활용하는 스켈레톤 애셋의 본의 위치와 계층 구조 정보를 추적하는 목록에 불과하다.
    • 스켈레탈 메시는 그저 이 정보를 언리얼 엔진 내 스켈레톤 애셋으로 전달할 뿐이다.

공유

  • 두 캐릭터가 모두 같은 스켈레톤 애셋을 공유(본과 계층구조의 구성이 같음)
    • 모두 엔진으로 임포트한 애니메이션을 활용가능
    • 서로가 각 스켈레탈 메시에 등록된 애니메이션을 구동할 수 있다.

리타겟팅

  • 애니메이션을 재생하는 각 스켈레탈 애셋의 스켈레톤 메시에 따라 애니메이션이 늘어나거나 생략되는 일이 없도록 약간의 조정을 하는 것
  • 리타겟팅 == 스켈레톤 애셋의 또 다른 기능

    • 단지 본의 위치나 회전 등의 정보만을 추적하는 것이 아님
    • 리타겟팅 => 본의 트랜스폼 정보 활용
  • 기본 본 구성 + 계층 구조 + 작명 방식 이 같으면, 여기에 추가적인 요소 달기 가능.

    • 임포트할 때 굳이 다른 스켈레톤 에셋 사용안해도됨
  • 애니메이션 리타겟도 가능 => 서로다른 스켈레톤 애셋을 사용하는 스켈레톤 메시 역시 같은 애니메이션을 공유할 수 있다/

공유하지 못할 경우

  • 계층 구조 본 중에 이름이 다르거나 본이나 계층구조가 다른 경우

    • 스켈레톤 애셋을 다시 만들어서 사용해야함.
  • 계층구조 자체를 바꾸어버리면 문제가 생김 (그냥 마지막에 자식을 추가하는것은 별로 문제가 되지않음)

  • 계층구조 순서가 바뀌거나 작명이 바뀌면 문제 발생 가능

  • 애니메이션 리타게팅 작업은 구성하는 데 많은 추가 작업을 요구한다.

스켈레톤 애셋

  • 본의 목록 그리고 계층 정보
  • 캐릭터 애니메이션 구동에 사용
  • 다수의 스켈리탈 메시와 공유됨
  • 애니메이션 리타겟팅에 도움(스켈레톤 애셋이 다른 캐릭터들끼리 애니메이션 공유)
  • sockets, notifies, curve names, slot names 저장
    • 소켓: 손으로 총이나 물건등을 줍거나 할때
    • 노티파이: 이벤트등 처리
    • 커브이름: 모프 타겟에 인플루언스, 본 트랜스폼 편집, 구성해둔 머티리얼 파라미터의 구동에 활용 (캐릭터 볼을 붉히고 싶은 경우, 커브를활용해야함)
    • 이 커브는 특정 애니메이션이 아니라 스켈레톤 애셋에 저장해야함.
    • 그래야 이 스켈레톤 애셋을 공유하는 많은 캐릭터들이 활용할 수 있게됨.
    • 슬롯 이름은 split-body를 구성하고 활용할 수 있는 방법(엉덩이 기준으로 위쪽 몸을 분리해 Upperbody라는 슬롯을 만들 수도 있다.)
    • 슬롯을 기준으로 위 아래 애니메이션 적용 가능(걸으면서 총)

다른 경우

  • 릭애셋 사용
    • 릭: 스켈레톤 애셋 간에 정보만 전달하는 애셋, 중개 애셋
  • 같은 릭을 공유 => 같은 애니메이션을 공유할 수 있는 정보를 전달받고 있는 상태

출처

Skeleton Assets: Overview

2: share retarget

3: different skeletons

4: sockets

5: slot, notifies, curves

This post is licensed under CC BY 4.0 by the author.

[UE4] 애니메이션 시작하기

[opengl] OGLDEV: Skeleton Animation In OpenGL using Assimp 1