VR 게임 아바타 설정 및 녹화 방법
0. 활용 프로그램
- Unity : https://unity.com/kr/download
- Steam / SteamVR : https://store.steampowered.com/about/
- LIV : https://store.steampowered.com/app/755540/LIV/
- OBS : https://obsproject.com/ko
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 에서 녹화를 시작하면 아바타가 활성화된 게임 화면을 녹화할 수 있다.