반응형

 

 

 

 

언리얼에서 VRM 아바타의 Spring bone을 애니메이션 블루프린트에서 사용할 수 있는데, 방법은 아래와 같다.

VrmSpringBone이라는 노드를 연결해서 Ouput Pose 노드에 연결하면 헤어라던지, 옷이라던지 Spring bone에 적용되어있는 본이 움직이는것을 확인할 수 있다.

 

하지만, 위와 같이 노드를 적용했음에도 움직이지 않으면 Spring bone 데이터가 없는것이다.

 

언리얼에서 VRM을 임포트하면 같이 생성되는 에셋 중, meta 파일이 존재할 것이다.

meta 파일을 열어보면 Rendering 카테고리에 VRMSpring Meta가 있는데 Array element를 확인해보면 0으로 표시된 것을 확인할 수 있을것이다.

VRM 아바타에 Spring bone을 사용하고 싶으면 여기에 데이터가 들어가 있어야 정상적으로 작동한다.

 

언리얼에서 Array element로 추가해줄 수도 있는거 같긴 하지만(직접 해보지는 않음), 필자는 유니티에서 작업하는게 더 수월하다고 판단하여 유니티에서의 해결방법을 서술한다.

 

 

 

해결방법

1. 유니티에서 익스포트한 VRM 에셋을 유니티로 임포트

VRM 에셋을 임포트한 뒤, 아바타의 프리팹을 씬에 로드한다.

여기서 아바타의 하이어라키를 확인해보면 Secondary게임오브젝트를 확인할 수 있다.

 

2. VRM Spring Bone 컴포넌트 설정

Secondary를 클릭한 뒤, 인스펙터창을 확인해보면 VRM Spring Bone컴포넌트를 확인할 수 있다.

해당 컴포넌트에서 Root Bones에 Spring Bone을 적용할 본의 루트를 넣어주면 된다.

※ 헤어가 움직이면서 몸통을 뚫는 현상은 Collider 카테고리를 설정해주면 된다.

 

3. 설정한 아바타를 다시 Export해준 뒤, 언리얼로 Import한다.

언리얼로 임포트한 뒤, meta 파일을 열어서 VRMSpring Meta의 데이터를 확인해준다.

위와 같이 VRMSpring Meta 항목에 Array elements에 데이터가 들어가있는 것을 확인할 수 있다.

 

+) 위와 같이 했는데도 Spring bone이 작동하지 않는 경우

애니메이션 블루프린트 파일을 열어서 VrmSpringBone노드를 클릭해서 Detail을 확인하면 Vrm Meta Object가 비어있을 수 있기 때문에 확인 후, Meta 파일을 설정해준다.

 

 

 

 

결과

 

 

 

 

 

반응형

+ Recent posts