UE4

[UE4] 스켈레톤 & 소켓 시스템

Honey Badger 2022. 11. 3. 01:49

소켓

소켓이란 스켈레탈 메시 내의 Born에서 약간 Offset을 준 부분을 말한다. 그런 다음 Born을 기준으로 소켓의 위치, 방향, 크기를 조절한다. 스태틱 메시, 스켈레탈 메시는 소켓에 미리 붙여볼 수 있어, 콘텐츠 제작자는 스켈레탈 메시의 소켓을 구성한 다음, 프로그래머에게 오브젝트를 붙일 소켓 이름만 알려주면 된다.  

  소켓을 생성하려면 일단 스켈레탈 메시를 더블클릭해서 들어간 후 스켈레톤 트리 패널에서 소켓추가를 선택해 추가할 수 있다. 소켓은 Born 이름 옆에 소켓 아이콘으로 표시된다. 

원하는 소켓을 우클릭하고 프리뷰 애셋 추가 메뉴를 선택한 후 원하는 악세사리를 캐릭터에 부착해 볼 수 있다.

 

스켈레톤 애셋

  언리얼4에서의 스켈레톤 애셋은 기본적으로 Born의 이름과 계층구조의 목록이다.  Born 데이터를 애니메이션 트랙에 연관지어 애니메이션을 구동시키는 역할을 한다. 따라서 스켈레톤 애셋이 처리하고자 하는 주안점은 스켈레탈 메시가 아닌 애니메이션 데이터이다. 

  스켈레탈 메시들이 같은 스켈레톤 애셋을 공유하는 경우, 계층구조가 정확히 맞아 떨어지지 않아도 애니메이션 데이터를 공유할 수 있다. 스켈레톤 애셋은 애니메이션 구동 외에도

1. 비율이 다른 캐릭터의 애니메이션을 조정하거나(리타겟팅),

2. 소켓을 생성하고 저장해 캐릭터에 무언가 붙일 수 있게 하고,

3. 애님 노티파이를 저장해 발소리와 같은 이펙트, 파티클시스템, 심지어 다른 코드를 발동시키는 커스텀 이벤트도 추가할 수 있다. 

 

  이러한 스켈레톤 애셋을 만드는 방법은 간단하다. 주로 스켈레탈 메시를 임포트 할 때 FBX 임포트 옵션 창 안에서 스켈레톤 칸을 비워 두면 임포트 중인 스켈레탈 메시를 기반으로 스켈레톤을 자동 생성해준다. 언리얼에 임포트하는 스켈레탈 메시나 애니메이션은 전부 연관된 스켈레톤 애셋이 필요하다. 

 

  스켈레톤 애셋은 여러 캐릭터가 공유할 수 있는데, 인간 남성, 팔이 넷 달린 괴물, 꼬리가 달린 여성의 경우에도 Born의 구조와 이름이 같으면 스켈레톤 애셋을 공유할 수 있으며, 스켈레탈 메시에 포함되지 않은 Born(꼬리, 여분의 팔 등)에 대한 애니메이션 데이터가 수신되는 경우, 그 애니메이션 데이터는 무시된다.

 

 

스켈레탈 메시

  스켈레탈 메시는 계층형 본 스켈레톤에 묶인 메시로, 크게 두 부분으로 이루어져 있다. 스켈레탈 메시의 표면을 구성하는 폴리곤 세타와 폴리곤의 버텍스 애니메이션에 사용할 수 있는 계층형 상호연결 본 세트이다. 스켈레탈 메시의 주 용도는 캐릭터나 기타 애니메이트 오브젝트를 나타내는 데 쓰인다. 

 

FBX 스켈레탈 메시 파이프라인

FBX란? 

  모션 캡처 및 키프레임 애니메이션 만들기, 편집, 혼합에 사용되는 시스템인 Autodesk MotionBuiler의 기본 파일 형식이다. 이를 사용하여 Maya, Softimage, Toxik, Composite와 같은 소프트웨어와 데이터를 공유할 수 있다. 또한 FBX파일은 모델 형상, 재질텍스처, 라이팅, 애니메이션 시퀀스에 관련된 데이터를 포함하므로 Recit과 같은 소프트웨어를 사용한 건물 설계 작업 흐름에 사용할 수 있다. 

 

  FBX를 사용한 스켈레탈 메시 임포트에 지원되는 것들은 다음과 같다.

1. 텍스처 포함 머터리얼

2. 애니메이션

3. 모프 타깃

4. 여러 UV 세트

5. 스무딩 그룹

6. 버텍스 컬러

7. LOD