V-tuber

Vroid Studio 나만의 캐릭터 만들기 2편

From.h 2024. 5. 5. 09:32
728x90
반응형

 

 

 

 

Vroid 캐릭터 Facial 작업

 

 

 

 

이제 캐릭터에 생명을 불어넣는 일입니다.

페이셜 작업을 통해서 내 얼굴 표정에 따라 움직이도록 해줄게요.

 

 

방법은 여러 가지가 있겠습니다. 대표적으로 다음의 방법이 있을 듯합니다.

1) Unity 프로그램을 이용하는 방법 : 복잡 다단함 (다른 여타 프로그램에서 데이터를 임포트 하여 활용할 수 있는 장점)

2) Vtuber Maker 프로그램을 이용하는 방법 : 심플 단순함 (해당 프로그램에서만 캡처할 수 있다는 제한적 단점)

 

만약 VR Chat 등 다른 프로그램에서 데이터 자체를 불러들여서 사용해야 한다면 1번 진행 필수이며,

그런 게 아니고 동영상 제작을 위해 캐릭터 장면만 캡처해서 합성을 통해 사용할 용도라면 2번으로도 충분하겠습니다.

 

 

 

먼저, 첫 번째 방법으로 다소 복잡 다단한 방법을 진행해 보겠습니다.

 

참고한 영상들:

영어로 된 영상이며, 아래를 참고하세요.

https://www.youtube.com/watch?v=zFGgcp16yu8

 

위 영상과 같은 방식으로 만든 국내 유튜버 "몽글몽글 VR" 분의 영상을 참고하세요.

https://youtu.be/9BFeFp2I3rU?si=_Ii-D77Q09_e8Tj6

 

 

 

 

 

페이셜을 적용해서 사용하려면 몇 가지 준비 과정이 필요합니다.

 

1. Unity 프로그램 설치 

   Vroid에서 만든 캐릭터에 Facial을 적용하기 위한 프로그램으로 유니티를 사용할 수 있습니다.

   1) 일단 아래 링크에서 유니티 허브를 먼저 설치해야 합니다.

   유니티가 설치되어 있는 분이시라면, 하단의 구 버전 (2019.4.3.1f)이 설치되어 있는지 확인한 후 진행합니다.

https://unity.com/kr/download

 

다운로드

지금 Unity를 다운로드하고 전 세계적으로 가장 큰 인기를 누리는 2D/3D 멀티플랫폼 경험 및 게임 제작용 개발 플랫폼을 사용하세요.

unity.com

  

 2) 유니티 허브가 설치되었으면 아래 글을 참조하여 구 버전을 설치합니다.

 *유니티 구 버전 설치방법 (링크 글 참조)

Unity 구 버전 설치

 

Unity 구 버전 설치

Unity 구 버전 설치해 봅시다여기에서는 유니티 새로 설치부터 시작해서 구버전 에디터 설치까지 진행해 봅니다.     1. Unity 사이트 방문, 유니티 허브 프로그램 다운로드https://unity.com/kr/download

ooowoool.com

 

2. Unity package 다운로드 및 설치 (UniVRM)  : 

  Vroid에서 저장한 나만의 캐릭터 파일(VRM)을 유니티에서 불러들이기 위한 유니티 패키지(플러그인)입니다.

 

3. 52가지 표정 Facial Blendshape 모델

 

4. 내가 만들어 놓은 캐릭터 VRM 파일

  Vroid에서 Export 한 캐릭터 VRM 데이터 파일입니다. 

 

 

 

 


 

 

 

 

 

1. 지난 편에서 만들어 놓은 나만의 캐릭터를 저장하는 것부터 다시 보여드릴게요.

  Vroid Studio에서 "내보내기" 옵션을 확인해 주세요 

  Reduce Polygons / Delete Transprarent Meshes : 투명 메쉬를 삭제한다 : 체크 해제 (기본 체크되어 있는데 해제합니다)

 

 

 

 

 

2. Uni VRM Package 설치하는 과정입니다.

유니티에서 VRM파일을 불러오기 위해서는 컨버터를 사용하거나, 패키지를 사용하는 방법이 있다는데,

여기에서는 UniVRM이라는 패키지를 사용합니다.

 

1) UniVRM 다운로드

https://github.com/vrm-c/UniVRM/releases/tag/v0.99.2

 

Release v0.99.2 · vrm-c/UniVRM

Unity-2019.4 向けの修正です。 #1721

github.com

 

아래 목록 모두 다운로드합니다.

 

 2) 패키지 설치

  유니티 에디터 (2019.4.3.) 실행 후, 

  받아놓은 "UniVRM-0.99.2_0dc9.unitypackage" 파일을 드래그해서 유니티 패키지 폴더 빈 창에 드롭합니다.

 

 

프로젝트 폴더창에 드롭하면 팝업이 뜨며, import 버튼을 눌러 패키지를 설치합니다.

 

 

패키지가 설치되고 나서 Accept All 클릭

 

 

뭔가 더 진해이 되고 나서, 설치가 완료되었습니다. Close 클릭하여 창을 닫습니다.

 

 

완료되면 상단에 메뉴가 2개 추가되고, Asset  폴더에도 뭔가 추가된 것이 확인되면 정상 설치된 것입니다.

 

 

 

 

 

 

 

3. 52 BlendShapes 담긴 남/녀 Asset 파일 다운로드

   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

 

 

   각자 만들어놓은 성별의 VRM 파일에 맞게 다운로드합니다. Fem:여성, Male:남성

 

 

 

 

 

 

 

4. 캐릭터 VRM 파일 두 종류를 불러오는 과정입니다.

  다운로드한 파일과 내가 만든 파일, 이 두 개의 VRM 파일을 불러와 매칭시켜주는 작업을 통해,

  이미 만들어진 BlendShapes를 사용할 수 있게 되는 원리입니다.

  1) catManHoodDave.vrm : 내가 Vroid Studio에서 만들어 내보내기 한, 내 캐릭터 파일

  2) VRoid_V110_Male_v1.1.3.vrm : 이미 52가지 표정에 대한 페이셜 세팅이 되어있는 캐릭터 파일

 

 

위의 두 개의  VRM 파일을 드래그해서 유니티 에디터의 Asset 폴더 빈 곳에 드롭하여 불러옵니다.

Asset 폴더에 파일이 들어온 게 보입니다.

그중 캐릭터가 보이는데, 그 두 개를 선택해서 왼쪽 hierarchy창에 드래그 앤 드롭해 줍니다. 

씬 화면에 캐릭터 두 개가 작게 보입니다. 이렇게 VRM파일 불러오기를 마쳤습니다.

 

 

 

 

 

 

5. BlendShapes 복사하는 스크립트를 만듭니다

 

좌측 hierarchy에서 내가 만든 모델인 "catManHoodDave"를 선택하고, 

우측 Inspector 창을 아래로 스크롤해서 내리고, 하단에 "Add Component" 버튼을 누릅니다.

 

 

 

팝업에서 또 스크롤해서 내리고, 하단에 New Script 버튼을 누릅니다.

 

 

 

새로운 스크립트를 만드는 입력 필드에 "CopyBlendShapes"라고 입력하고, 하단의 Create 버튼을 누릅니다.

 

 

 

인스펙터창에 스크립트 컴포넌트가 추가된 것을 확인할 수 있습니다.

 

 

 

 

 

 

 

 

6. 스크립트를 수정하는 과정입니다.

스크립트 컴포넌트의 우측 메뉴에서 Edit Script를 선택합니다

 

 

 

코드 에디터가 실행됩니다. 여러분의 설치 프로그램에 따라 각자의 에디터가 뜰 겁니다. 

저의 경우는 VScode가 설치되어 있어서, 바로 이 에디터가 떴습니다.

그리고, C# Extension 이 설치되고, 다음으로 진행합니다.

(코드에디터가 없어도 파일을 문서편집기로 열어서, 내용만 수정해서 저장하면 됩니다)

 

 

 

깃허브에 공유된 스크립트를 가져와서 복붙 합니다.

https://github.com/nomadicage/Unity/blob/main/CopyBlendShapes.cs

 

Unity/CopyBlendShapes.cs at main · nomadicage/Unity

Contribute to nomadicage/Unity development by creating an account on GitHub.

github.com

 

복사 아이콘을 눌러 코드를 복사한 후, 

 

 

 

에디터의 해당 부분(Public)에 붙여 넣기 해줍니다.

 

 

 

붙여 넣은 화면입니다. 저장하고 닫습니다.

 

 

 

 

 

 

 

 

7. 스크립트에 모델을 적용하고 확인하는 과정입니다.

이제 해당 스크립트에 각각의 모델을 적용시킵니다.

내가 만든 캐릭터 Asset을 선택한 상태에서, 위에서 만든 스크립트를 확장시킨 다음,

1번의 VRoid_110 모델의 Face를 스크립트의 "Source" 필드에 드래그해서 넣어주세요.

2번의 내가 만든 캐릭터 모델의 Face를 그 아래 "Target" 필드에 드래그해서 넣어주세요.

 

 

"Play"버튼을 한 번 눌러서 실행 모드로 전환해 준 후, 다시 해제하여 돌아오는 작업을 해줍니다.

 

 

 

내 캐릭터의 얼굴을 선택해서 브랜드쉐입이 잘 되는 확인 합니다.

Face를 선택하고, 우측 BlendShapes에서 하나를 선택하여 좌우로 슬라이드를 움직여봅니다.

표정이 바뀌는 것을 확인할 수 있습니다.

 

 

 

 

 

 

 

8. BlendShapes 전체를 복사해 오는 과정입니다.

Asset  폴더를 선택한 후, 우측 마우스 버튼 클릭 

팝업에서 Show in Explorer를 선택하여 윈도우 브라우저를 엽니다.

 

 

Asset 폴더에 있는 두 폴더를 열어서 복사 붙여넣기를 합니다.

 

VRoid_V110의 BlendShapes 폴더의 전체 파일을 복사해서 (전체선택 ctrl+c)

 

내가 만든 캐릭터의 BlendShapes 폴더로 붙여넣기 (ctrl+v)

 

붙여넣기 할 때, "덮어쓰기" 하지 않습니다. "건너뛰기"합니다.

그럼 이제 다양한 표정의 BlendShapes 데이터가 내 캐릭터의 BlendShapes에 복사되었습니다.

 

 

 

 

 

 

9. 나의 기본 BlendShapes에 표정 Clip 항목을 만드는 과정입니다.

VRoid_V110의 BlendShapes 폴더에 세 번째 파일인 BlendShape.asset을 선택하면

우측에 브랜드쉐입의 클립들의 리스트를 볼 수 있습니다.

Editor 탭에 보면 다양한 표정의 Clip명칭이 박스 모양으로 보일 겁니다.

나의 브이로이드인 catManHoodDave 모델의 기본파일인 BlendShape.asset 속성에도

이와 같이 리스트를 만들어줘야 합니다.

 

 

나의 모델을 선택한 후 inspector 창을 보면 좀 비어있는 걸 볼 수 있습니다.

Asset은 복사해 왔지만 Clip에 적용이 안된 것입니다.

그래서 그 리스트를 동일하게 작성해줘야 합니다.

 

 

 

위의 BlendShapesClip 리스트를 그대로 만들어줘야 해서,

그 리스트를 만들어두었습니다.

이걸 보고 하나씩 추가해 주면 됩니다.

 

아래는 이 리스트 만드는 과정도 첨부했으니, 참고하세요.

 

Tips. 파일명 > 엑셀로 만들기

더보기

좀 전의 VRoid_V110의 폴더에 가서 파일 이름을 복사해올 겁니다.

 

 

 

1) 파일브라우저에서 '유형' 탭을 선택해서 ASSET파일만 정렬되게 한 후, ASSET 파일만 70개 선택합니다.

"Shift+마우스 우측버튼"을 눌러서 팝업을 띄운 후, 경로로 복사를 선택합니다.

 

 

2) 엑셀을 열어서 빈 시트에 붙여넣기 합니다.

항목이 있는 시트를 모두 선택한 후, 데이터/ 텍스트나누기 버튼을 클릭합니다.

'구분 기호로 분리됨'이 선택된 상태에서 '다음'버튼을 누릅니다.

 

텍스트마법사 2단계 창에서 '기타'를 선택하고 '\'를 입력합니다. 아래와 같이 표현되겠죠.

다음 버튼을 누릅니다.

 

'마침' 버튼을 누릅니다.

 

 

G열에 에셋 이름이 있는 시트를 모두 선택하고, 한 번 더 '.'으로 텍스트 나누기를 해줍니다.

 

 

이제, 필요한 부분만 시트로 추출되었네요.

 

순서만 다시 0~69번까지 재정리를 해줍니다.

 

 

 

BlendShape 명칭은 첨부파일을 다운로드하여 참고하세요.

https://github.com/nomadicage/Unity/blob/main/BlendShapeClipName.xlsx

 

Unity/BlendShapeClipName.xlsx at main · nomadicage/Unity

Contribute to nomadicage/Unity development by creating an account on GitHub.

github.com

 

 

먼저, 리스트를 생성해 줍니다.

List Tab으로 가서 + 버튼을 누른 후, 브라우저 창이 뜨면 "취소" or "Esc 키"를 눌러서 닫습니다.

그러면, 빈 리스트만 생성이 됩니다. 

이렇게 먼저 빈 리스트만 쭉 생성합니다. Element 69까지 만들면 됩니다.

 

 

이런 식으로 69번째까지 빈(null) 상태의 BlendShape 리스트를 생성시켜준 상태입니다.

 

 

 

이제, 나의 캐릭터 에셋에 18번째부터 브랜드쉐입을 연결해 주는 과정입니다.

엑셀파일을 열어둔 채,

리스트에서 Element 18의 우측 "연결" 버튼을 누르고

 

 

 

Assets 리스트에서 엑셀의 18번째 명칭을 찾아서 선택해 줍니다.

두 개가 보일 텐데, 그중 내 캐릭터 것을 선택해야 내 캐릭터의 쉐입과 연결되는 것입니다. 

하단의 캐릭터 얼굴 이미지를 확인하세요!!

 

 

이런 식으로  69번째 까지 각각 이름을 찾아서 연결해 주는 노가다를 합니다.

 

 

완성된 후 Editor 탭을 선택하시면 각 표정이 원본과 같이 70개 완성된 것을 볼 수 있습니다.

하나씩 눌러보면서 아래 프리뷰 화면에 표정이 바뀌는 것을 확인하세요. 

 

 

각각 표정에 대한 자세한 수정을 원하신다면 아래에 'Face'를 확장해서 하나씩 조절해서 세팅하시면 됩니다.

 

 

 

 

 

 

 

 

10. 익스포트 합니다.

메뉴에서 VRM0 / Export to VRM 0.x 선택합니다.

 

 

익스포트 창이 뜨면 내 캐릭터를 드래그해서 넣습니다.

 

 

VRM 폴더를 만든 후, 이름을 그대로 두고 저장했습니다.

 

 

 

 

 

 

나만의 캐릭터 만들어서 VRM 파일까지 나오는 과정이었습니다.

 

정리해 보면,

1. UniVRM 설치

2. VRM 파일 불러오기 (원본, 내 캐릭터)

3. 스크립트 추가 CopyBlendShapes (내 캐릭터) 및 수정 후 적용(Face)

4. BlendShape 파일들 복붙 (원복 폴더 > 내 캐릭터폴더)

5. BlendShapes 클립 추가 및 적용 (내 캐릭터 0~69까지의 표정)

6. BlendShapes 클립 표정 수정 (필요할 경우, 하나씩)

7. 익스포트 VRM

 

 

 

다음 편에서 페이셜이 적용된 캐릭터를 캡처하여 실제 방송에 사용하는 과정을 다루어보겠습니다.

 

 

 to be continue...

 

 

 

 

 

 

 

BR. h

 

 

 

728x90
반응형