Skeleton Assets: Overview를 보고 정리한 문서
Skeleton Assets
캐릭터 생성
- 스켈레탈 메시로 외형부터 만든다.
- 스켈레탈 메시 == 3D모델
- 스켈레톤 구성 즉, 캐릭터의 리깅 작업
- 본이나 관절 계층 구조의 추가 및 정의 등이 진행된다.
- 캐릭터의 포즈 조정이 가능해짐.
- 타임라인 상에서 각 포즈들에 키 프레임 지정
- 포즈에 애니메이션을 부여하는 식으로 애니메이션 제작
임포트
- 외부 => 언리얼 임포트
- 오해 한가지: 1:1 로 대응되는 스켈레톤이 있어야한다는 점
- 그럴 필요는 없음.(몇몇 조건들이 있긴함.)
- 본과 계층 구조 정보만을 요구함
- 언리얼의 스켈레톤은 3D 본 보다는 목록에 더 가까움.
- 목록: 스켈레탈 메시에서 활용하는 본과 계층구조 정보가 포함되어 있다.
- 스켈레톤 트리는, 관련 스켈레탈 메시의 애니메이션을 구동하는 데 사용
하나의 스켈레톤 애셋과 스켈레톤 트리를 여러 스켈레탈 메시에서 공유할 수 있다.
- 스켈레톤 애셋은 그저 스켈레탈 메시의 릭 작업에 활용하는 스켈레톤 애셋의 본의 위치와 계층 구조 정보를 추적하는 목록에 불과하다.
- 스켈레탈 메시는 그저 이 정보를 언리얼 엔진 내 스켈레톤 애셋으로 전달할 뿐이다.
공유
- 두 캐릭터가 모두 같은 스켈레톤 애셋을 공유(본과 계층구조의 구성이 같음)
- 모두 엔진으로 임포트한 애니메이션을 활용가능
- 서로가 각 스켈레탈 메시에 등록된 애니메이션을 구동할 수 있다.
리타겟팅
- 애니메이션을 재생하는 각 스켈레탈 애셋의 스켈레톤 메시에 따라 애니메이션이 늘어나거나 생략되는 일이 없도록 약간의 조정을 하는 것
리타겟팅 == 스켈레톤 애셋의 또 다른 기능
- 단지 본의 위치나 회전 등의 정보만을 추적하는 것이 아님
- 리타겟팅 => 본의 트랜스폼 정보 활용
기본 본 구성 + 계층 구조 + 작명 방식 이 같으면, 여기에 추가적인 요소 달기 가능.
- 임포트할 때 굳이 다른 스켈레톤 에셋 사용안해도됨
- 애니메이션 리타겟도 가능 => 서로다른 스켈레톤 애셋을 사용하는 스켈레톤 메시 역시 같은 애니메이션을 공유할 수 있다/
공유하지 못할 경우
계층 구조 본 중에 이름이 다르거나 본이나 계층구조가 다른 경우
- 스켈레톤 애셋을 다시 만들어서 사용해야함.
계층구조 자체를 바꾸어버리면 문제가 생김 (그냥 마지막에 자식을 추가하는것은 별로 문제가 되지않음)
계층구조 순서가 바뀌거나 작명이 바뀌면 문제 발생 가능
애니메이션 리타게팅 작업은 구성하는 데 많은 추가 작업을 요구한다.
스켈레톤 애셋
- 본의 목록 그리고 계층 정보
- 캐릭터 애니메이션 구동에 사용
- 다수의 스켈리탈 메시와 공유됨
- 애니메이션 리타겟팅에 도움(스켈레톤 애셋이 다른 캐릭터들끼리 애니메이션 공유)
- sockets, notifies, curve names, slot names 저장
- 소켓: 손으로 총이나 물건등을 줍거나 할때
- 노티파이: 이벤트등 처리
- 커브이름: 모프 타겟에 인플루언스, 본 트랜스폼 편집, 구성해둔 머티리얼 파라미터의 구동에 활용 (캐릭터 볼을 붉히고 싶은 경우, 커브를활용해야함)
- 이 커브는 특정 애니메이션이 아니라 스켈레톤 애셋에 저장해야함.
- 그래야 이 스켈레톤 애셋을 공유하는 많은 캐릭터들이 활용할 수 있게됨.
- 슬롯 이름은 split-body를 구성하고 활용할 수 있는 방법(엉덩이 기준으로 위쪽 몸을 분리해 Upperbody라는 슬롯을 만들 수도 있다.)
- 슬롯을 기준으로 위 아래 애니메이션 적용 가능(걸으면서 총)
다른 경우
- 릭애셋 사용
- 릭: 스켈레톤 애셋 간에 정보만 전달하는 애셋, 중개 애셋
- 같은 릭을 공유 => 같은 애니메이션을 공유할 수 있는 정보를 전달받고 있는 상태