3D Engine/Unity

VR 게임 아바타 설정 및 녹화 방법

Polariche 2024. 12. 12. 18:00

0. 활용 프로그램

 

1. TemplateAvatarProject

https://drive.google.com/file/d/1YzJamlspmbri-bLa_MARe9sVZpBWaEVW/view

 

다운받은 TemplateAvatarProject 를 압축 해제하고, Unity Hub > Projects > Add > Add project from disk 를 통해 프로젝트를 추가한다.

 

 

추가된 프로젝트를 실행하기 위해선 Unity 버전 2018.4.11 이 필요하다. 만약 설치되어있지 않다면, 설치 후 진행해야 한다.

 

 

프로젝트를 실행하면 다음과 같은 화면을 볼 수 있다.

 

 

 

2. 아바타 설정

scene 에 존재하는 기본 아바타를 삭제하고, 사용하려는 아바타의 .fbx 파일이나 prefab 등을 scene 에 로딩한다.

이 글에선 예시로 UnityChan 아바타를 불러왔다.

 

 

 

Inspector 탭에서 Avatar Descriptor 컴포넌트를 추가한 후, Avatar Name 과 Author Name 을 입력한다.

 

Avatar Exporter 탭에서 "Export <AvatarName>" 버튼을 누르면, LIV 용 아바타가 생성된다.

 

빌드 과정 이후, 다음과 같은 메세지가 나타나면 성공적으로 아바타가 생성된 것이다.

 

아바타를 export 한 폴더로 들어가보면, <AvatarName>.avatar 라는 파일이 생성된 것을 확인할 수 있다.

 

 

2-2. 아바타 세부 설정 - Dynamic Bones

AvatarDescriptor 컴포넌트를 추가하면 기본적인 모션 트래킹이 가능해진다.

그러나, 더욱 자연스러운 움직임을 위해서는 머리카락, 스커트 등이 살랑일 수 있게 하는 것이 좋다.

 

이를 위해서는 Dynamic Bone 컴포넌트를 적절한 bone 에 배치하면 된다.

추가한 캐릭터의 Armature 를 탐색하여, Hair 나 Skirt 등의 이름을 가진 bone 을 찾아 Dynamic Bone 컴포넌트를 추가해주자.

 

 

 

 

Dynamic Bone script 를 추가해주고, Root, Damping, Elasticity, Stiffness, Radius 값을 설정한다.

Root 에는 가장 최상위에 있는 머리카락 bone 의 transform 을 설정해준다.

Damping 을 높게 하고, Elasticity 를 낮게, Stiffness 를 0으로 주는 것으로 자연스러운 머리카락 움직임을 연출할 수 있다.

 

 

스커트 설정은 아래 글을 참조하면 좋다.

https://m.blog.naver.com/jcjee2004/221826554542

 

[Unity] Dynamic Bone을 응용해서 치마 뚫리지 않게 하기

이 글은 링크의 글을 추가로 응용한 것임을 밝힙니다. 안녕하세요. Nori 입니다. 제 블로그에서는 처음으...

blog.naver.com

 

 

2-3. 아바타 세부 설정 - LilToon

만약 불러온 아바타가 LilToon 등의 확장 쉐이더를 사용한다면, material 이 제대로 로딩되지 못하고 분홍색 텍스쳐로 나타나는 에러가 발생할 수 있다.

 

이를 해결하려면, TemplateProject에 쉐이더 패키지를 추가해줘야 한다.

예시로, LilToon 쉐이더를 사용하려면 다음 글을 참조하면 된다.

 

https://polariche.tistory.com/35

 

Unity 2018.4 버전에서 lilToon 을 임포트하는 방법

LIV 아바타 프로젝트 등은 이전 버전의 유니티 (2018.4) 를 요구한다.liltoon 을 유니티 패키지 매니저 / vrc companion 을 통해 임포트할 수 없으므로, 직접 unitypackage 를 다운받고 임포트하는 과정이 필요

polariche.tistory.com

 

 

3. LIV Virtual Cameras & Avatars

LIV 를 실행한 후, Virtual Cameras & Avatars 탭으로 이동하여 "START VR CAMERAS & AVATARS" 

 

실행이 완료된 이후, 위 단계에서 생성한 <AvatarName>.avatar 파일을 드래그 & 드롭하면 LIV 에 아바타가 등록된다.

만약 아바타를 수정한 후 다시 export 했다면, 동일한 과정 + overwrite 를 시행하여 재등록이 가능하다.

 

 

LIV 를 실행한 채로 VR 에 접속하면, 발 밑에 LIV 시작용 인터페이스가 추가된 것을 볼 수 있다. 이를 컨트롤러로 가리키고  꾹 누르면 LIV 설정 화면이 나타난다.

Avatar 탭 내에서 앞서 생성한 아바타를 선택할 수 있다.

 

 

 

4. OBS 녹화

OBS 를 실행한 후 "게임 캡쳐" 소스를 추가하고, "게임 캡쳐"의 윈도우를 LIV Output 으로 설정한다.

 

 

VR 내에서 게임을 실행하고, OBS 에서 녹화를 시작하면 아바타가 활성화된 게임 화면을 녹화할 수 있다.