[버튜버] 무료로 VROID 볼 빵빵, 메롱 페이셜 하는 방법
안녕하세요. pinping 입니다.
요즘 본인의 얼굴을 노출시키지 않아도 컨텐츠를 만들수 있는 버튜버가 대세죠!
VRoid Studio를 사용하면 캐릭터를 무료로 만들 수 있어서 초보자들이 사용하기가 좋은데
얼굴 표현이 매우 단조로워 정말 아쉬운 점이 많습니다.
그래서 이번에는 유니티를 활용하여 내가 만든 Vroid 캐릭터에 페이셜을 추가하는 방법에 대해서 알려드리겠습니다.
먼저 중요한 준비물은 아이폰 혹은 아이패드 입니다.
아이폰의 faceid 기능은 혁신이에요.
얼굴 근육의 움직임을 섬세하게 인식해주는 기능이라서 이 것을 이용할 것 입니다.
(참고로, 안드로이드는 해당 기능 없음..ㅜㅜ)
보통 HANA TOOL을 활용하여 얼굴 표현을 넣어주는데
요건 1000엔으로 Booth에서 구매를 해야 해서
저는 오픈 소스를 활용하여 노동력이 많이 필요하지만 무료로 얼굴 표현을 넣어주도록 하겠습니다.
(시간도 없고 귀찮다 싶으신 분들은 하나툴 사용하세요. 유튜브에 사용법 많이 있어요~)
먼저 관련 프로그램을 설치해줘야겠죠!
Vroid Studio : VRoid Studio
VSeeFace : VSeeFace
Unity Hub, Unity : Start Your Creative Projects and Download the Unity Hub | Unity
UniVRM 0.x : https://vrm.dev/en/univrm/install/index.html
CopyBlendshapes.cs : https://github.com/XOrdinary99/unity-vroid-scripts
페이셜 복사할 vroid 모델 : https://github.com/hinzka/52blendshapes-for-VRoid-face
*Vroid Studio
VRoid Studio
3D Modeling, for Everyone! VRoid Studio is an application to create 3D models of humanoid avatars (characters).Create original characters on this intuitive and highly Adaptable Software. Easy to use for everyone!
vroid.com
브이로이드 스튜디오로 캐릭터는 다들 만드셨을 거라 생각하는데요.
여기에서 VRM파일로 export 해줘야 유니티에 넘길 수 있습니다.
먼저 오른쪽 상단에 저 아이콘을 눌러주시고 Export as VRM 클릭해주세요.
그 다음 화면에서 Reduce Polygons > Delete Transparent Meshes 체크박스 풀어주시고 Export 해줍니다.
나머지 설정들은 건드리지 마세요.
제가 저 체크박스 안 풀었다가 뒤에 유니티에서 작업할 때 오류가 나서 몇 시간을 날려먹었는지...
필수항목 입력해주고 저장해줍니다.
그럼 vroid에서 작업은 끝!!
*Unity
페이셜 작업을 할 유니티를 설치해줘야 하는 데요.
개인으로 할 경우, 연간 100K 달러 이하로 벌면 유니티를 무료로 사용하실 수 있습니다.
Download
Download Unity now and get started with the world’s most popular development platform for creating 2D and 3D multiplatform experiences and games.
unity.com
유니티 회원가입 + 유니티 허브 설치 + 유니티 2019년 버전 설치
진행하시면 됩니다.
유니티 허브 실행 후 오른쪽 상단 New Project > 3D > Create project
프로젝트 실행하면 바로 VRM 업로드가 불가능 합니다.
유니티에서 VRM 파일을 제대로 읽어들일 수 있도록 UniVRM 0.x를 다운로드 해줍니다.
유니티에서 Assets > Import Package > Custom Package... > 다운로드 했던 UniVRM 0.x 파일 선택
All 클릭 후 Import 해줍니다.
설치하다가 추천 세팅이라고 뜨는데요. Accept All 눌러줍니다.
그럼 이제 vrm 파일을 올려야겠죠. Assets에 바로 추가가 안 되니까 먼저 폴더를 만들어줍니다.
저는 폴더명을 MyVrm이라 지어줬습니다.
해당 폴더에 vroid에서 export한 vrm 파일을 드래그 앤 드롭 해줍니다.
VRM 파일이 추가되었다면 캐릭터 모양이 보이는 파일을 Hierarchy에 드래그 앤 드롭하여 추가해줍니다.
페이셜 설정을 복사할 vroid 모델 다운로드 해주시고, (남/녀 설정에 맞게)
https://github.com/hinzka/52blendshapes-for-VRoid-face
GitHub - hinzka/52blendshapes-for-VRoid-face: modified VRM data of the VRoid model.
modified VRM data of the VRoid model. Contribute to hinzka/52blendshapes-for-VRoid-face development by creating an account on GitHub.
github.com
Assets에 새 폴더 생성(저는 RefVrm이라 폴더명 정함) 후 똑같은 방식으로 Unity에 추가해줍니다.
블렌드쉐이프를 복사를 해주기 위해 관련 소스(CopyBlendshapes.cs)를 다운로드 받습니다.
https://github.com/XOrdinary99/unity-vroid-scripts
GitHub - XOrdinary99/unity-vroid-scripts
Contribute to XOrdinary99/unity-vroid-scripts development by creating an account on GitHub.
github.com
Unity에서 제 캐릭터를 클릭합니다. (사실 Scene에 있는 아무거나 클릭해도 가능함)
오른쪽 Inspector 창에서 스크롤바를 맨 아래로 내려서 Add Component를 클릭합니다.
New script > 파일명 : CopyBlendShapes 로 생성
Assets에 추가된 CopyBlendShapes.cs 파일 더블 클릭
그러면 Visual Studio창이 나타납니다.
빨간색 표시 부분 모두 지우고 깃허브에서 다운로드 받았던 CopyBlendShapes.cs 파일 내용물을 모두 복사 붙여넣기 합니다. (using이라 쓰인 1~3줄은 그대로 있어야 함)
Ctrl + S 로 저장.
다시 유니티로 돌아옵니다.
정상적으로 수정이 되었다면 Source와 Target을 선택할 수 있는 창이 뜹니다.
*스크립트 오류 발생 시
*CopyBlendShapes Script 오류 발생 케이스
1. 파일명과 파일내부의 함수명이 일치하지 않음 CopyBlendShapes 로 모두 통일해주세요. 대소문자 주의! 2. 컴파일 에러 발생 2-1. 1~3번째 줄을 실수로 지워버린 경우 using System.Collections; using System.Colle
pinping.tistory.com
Source에는 복사 할 캐릭터의 Face를 드래그 앤 드롭
Target에는 내가 만든 캐릭터의 Face를 드래그 앤 드롭
하면 연동이 됩니다.
설정 후 가운데 상단의 play 버튼을 누르면 Script가 자동 실행되면서 블랜드쉐이프 복사가 실행됩니다.
시간이 충분히 지난 후 play 버튼을 다시 눌러 종료해줍니다.
내 캐릭터의 Face 클릭 > 오른쪽 상단 Inspector BlendShapes
Vroid에서 기본적으로 제공하던 얼굴표현 말고 추가적으로 생겼다면 스크립트 실행 성공!
만약 오류가 발생했다면..
https://pinping.tistory.com/entry/CopyBlendShapes-play%EC%8B%9C-%EC%98%A4%EB%A5%98
*CopyBlendShapes play시 오류
Vroid 캐릭터에 페이셜을 추가하기 위해 CopyBlendShapes.cs를 유니티에 적용하시는 분들이 있을 텐데요. play 클릭시 Array 크기가 안 맞는다고 경고창이 뜬다면, vroid에서 vrm 파일로 export시 설정을 잘못
pinping.tistory.com
이제 표정 세팅만 해주면 됩니다 여러분!!
내 캐릭터 추가했던 폴더에서 캐릭터명.BlendShapes 폴더로 들어가면 페이셜 설정들이 있습니다.
여기서 아이폰 52가지 표정을 추가해주면 됩니다. ㄷㄷ
하나씩 추가하면 힘드니까 복사했던 모델의 BlendShapes를 복사 붙여넣기 합시다.
해당 모델의 BlendShapes 폴더에서 오른 클릭 > Show in Explorer
그러면 해당 경로가 열리는데요.
Ctrl+A 로 전체 선택 하고
Ctrl+C 로 복사해줍니다.
내 캐릭터 BlendShapes 폴더에 들어가서 Ctrl+V(붙여넣기) 합니다.
덮어쓰기 ㄱㄱ
유니티로 돌아와서 Assets > 내 캐릭터 폴더 > 캐릭터.BlendShapes>BlendShapes.asset (3번째 위치)
그러면 오른쪽 창에 뭔가 많이 생겼는데 버튼을 하나 하나 눌러보면 연동이 이상하게 되어 있는 것을 확인할 수 있습니다.
스크롤 바를 밑으로 내려서 BlendShape List > Serialized Property에서 face 밑을 클릭하여 원래 지어야 하는 표정을 선택해줍니다.
네.. 이 행동을 전체 다 해주시면 표정 연동이 끝납니다.
이제 다시 vrm 파일로 추출해야겠죠?
먼저 페이셜 복사하기 위해 넣었던 참조 vroid 모델을 삭제해줍니다.
내 캐릭터 클릭하고 Inspector 창에서 스크롤바를 내리면 VRM Blend Shape Proxy가 있습니다.
복사 붙여넣기 하면서 여기가 잘못 설정되어 있을 수 있어요.
다시 원래 캐릭터로 설정을 해줍시다.
Ctrl+S 눌러서 저장!
VRM0 > Export to VRM 0.x
언어설정은 영어(En), ExportRoot에는 캐릭터를 드래그 앤 드롭 해줍니다.
필수 항목들 입력 후 Export!!
VSeeFace 를 다운로드 받아 실행시켜 줍니다.
설치할 때 방화벽 개인/공용 모두 허용해줍니다.
VSeeFace
About 日本語 VSeeFace is a free, highly configurable face and hand tracking VRM and VSFAvatar avatar puppeteering program for virtual youtubers with a focus on robust tracking and high image quality. VSeeFace offers functionality similar to Luppet, 3ten
www.vseeface.icu
아바타 추가 후 선택합니다.
설정 > 일반 설정
트래킹 앱을 iFacialMocap으로 설정하고 트래킹 받을 것을 선택합니다.
애플 스토어에서 iFacialMocapTr을 설치합니다.
완전판 iFacialMocap은 8800원이고
체험판으로 무료로 사용가능한 게 iFacialMocapTr 입니다.
(광고 있음. 앱 사용 중 결제 안내 창 뜸. 길게 사용 못함..)
Tr만 하더라도 pc 연결이 되기에..
우선 무료를 원하시는 분들은 Tr 한번 써보시고 마음에 드시면 완전판 사세용
앱 상단에 아이폰의 ip주소가 뜹니다.
그걸 VSeeFace에 적어줍니다.
*주의사항
1. pc와 아이폰/아이패드는 같은 네트워크를 사용해야 합니다.
2. VSeeFace 방화벽 허용 해줘야 통신이 가능합니다.
VSeeFace 방화벽 허용하는 방법
VSeeFace에서 iPhone ARK 트래킹을 수행하기 위해서는 pc와 아이폰이 통신이 가능해야 합니다. 방화벽은 네트워크를 통해 악성 프로그램이 접근하는 것을 막는 역할을 하는데, VSeeFace는 통신을 허용해
pinping.tistory.com
다양한 표정을 지어보며 잘 동작하는 지 확인합니다. :)
Vroid 기본 표정에 없는 메롱이 잘 되네요. ㅎㅎ