💨

CloneXアバターをUnityで組み立て、VRM化する方法(zoom配信可能)

2022/08/15に公開

やりたいこと

  1. CloneXのアバターを、Unityを使って組み立てる。(https://clonex.rtfkt.com/)
  2. 組み立てたアバターをVRM化する
  3. VRM化したアバターでzoom配信を行う

使用するもの

アバター作成用

  • Unity Editor(バージョンは問わない気がする。自分は2021.3.7f1)
  • UniVRM(Unity上で、アバターをVRM化しエクスポートするために利用)
    https://github.com/vrm-c/UniVRM/releases

配信用

  • 3tene(物理カメラで撮影している自分の顔の動きを、VRMアバターにリアルタイムで反映させる。)
    https://3tene.com/free/
  • zoom

1. CloneXのアバターを組み立てる

1-1 CloneXのUnityへのインポート

  • CloneXの3Dモデルが入ったzipファイルたち(11ファイルくらい?)を解凍すると、unitypackageが入っている
    例: Characters-_inner_mouth-Combined > _male > _unity > _m_mouth(unitypackage形式)
  • それらのunitypackageをunityでインポートする
    (DNA-dna_human_female_pale-Compinedのようなファイルのみ、unitypackageがなくてtexture画像だけだが、それは別途unityでassets内にフォルダを作りインポートすればよい)

1-2 UniVRMのインポート

1-3 アバターの組み立て

  • 基本は以下のyoutubeの開始~12:50までを参考にする
    https://youtu.be/6FaR5bHsc-E
  • (Projectウィンドウ)Assets > character_neutral_neutral_M > Ready To Use M_Character_Neutral_Neutral.prfabをHierarchyにドラッグ&ドロップ
  • (Hierarchyウィンドウ)Ready To Use M_Character_Neutral_Neutral > Geometryの下に、他の部品(目、まつげ、眉毛、上着、ズボン、靴など)を配置していく
  • これでエクスポートできればよいのだが、ボーンの設定があり、かつT-Poseにする設定がやっかい(最初は腕を真横に広げたT-Poseではなく、斜めに下げたポーズ(A-Pose)になっているはず)

1-3-1 T-Poseへの対応の必要性

  • 口や服などの各パーツが、メイン素体の動きに合わせて位置を変える(追従する)ように、パーツのボーンをメイン素体のボーンの下に入れ込む必要がある(ボーンの配置の説明は後述)
  • (VRChatアバターの着せ替えになれている人は、基本的には同じような作業になるが、注意点が必要↓)
  • ただし、VRM形式で出力するためには、Tポーズでなければならない(VRMへの出力は、アバターの最上位を選択した状態で、VRM0タブ > Export to VRM 0.x)
  • T-Poseにしろと怒られる(その他のエラーは設定すればよいのでok)
  • 下に2つT-Poseにするためのボタンがあるが、自分がやったときは上のボタン(T-Poseにする(Unity internal)ではない方)でなければならなかった。
  • ただ、この状態でいきなり「T-Poseにする」を選択しても、素体のみT-Poseになり、服などが追従しない。よく見ると目も飛び出している。これは各パーツのボーンを素体のボーンに対応させていないので当たり前。
  • そこで、素体のボーンに対応する作業が必要(一度ctrl+zで素体のT-Poseを元のA-Poseに戻しておく)

1-3-2 各パーツのボーンの素体ボーンへの対応

  • この作業は非常に骨がおれる作業
  • 各パーツのボーンを下の階層まで展開し、そのパーツに影響を与える最下位のボーンを特定する。最下位のボーンを特定したら、素体の同じ名前のボーンの直下に、各パーツのボーンを配置する(言語化が難しすぎる...。VRChatのアバターの着せ替えと同じ作業なので、それで検索してもらえるともっとわかりやすいのが見つかるかと思います)
  • 例えば、Eyelashes(まつげ)は、headまでは影響をうけるが、その下の影響はうけない。
    • headのボーンの位置を大きく動かすとまつげが追従してくるが、その下のlEarやLEyeなどを動かしても関係がない。
  • ここまでわかったら、素体パーツのボーンの下に1つ1つ入れ込んでいく。素体パーツのボーンは、Ready To Use M_Character_Nuetral_Neutral > Genesis8_1Male以下(自分の場合)
  • ただし!!!!!!これ重要。各パーツのボーンの名前を変更し、headやneckUpperなど、デフォルトの名前の文字列を壊すことが必要。これは、VTMでエクスポートする際に必要だった「T-Poseにする」ボタンが、同じ名前のボーンを複数見つけると正常に動かないことが原因。なので、各パーツのボーンを素体パーツのボーンの下に入れ込む際に、h-ead(Eyeslashes)、n-eckUpper(Eyeslash)のように変更する必要がある((Eyeslash)は自分の分かりやすさのためにつけている)
  • よって、Eyelashesの例では、
    • まずEyelashesのheadを改名し、素体のボーンのheadの直下にいれる(1枚目の写真のheadを改名し、2枚目の写真のheadの直下にいれる。なおその際、Cannot restructure Prefab instanceと怒られるので、素体の最上位gameobjectを右クリックし、prefab > unpack prefabを選択する)

    • 次に、Eyeslashesのheadの上位にいたneckUpperを改名し、素体パーツのneckUpperの直下に配置する。ここまでやった写真が↓
    • これを最上位のhipまで繰り返す。
    • さらにそれを、服などすべてのパーツで繰り返す

2. 組み立てたアバターをVRM化する

  • 既に説明済みだが、VRM0タブからExportを選択する
  • ここまでA-Poseで作業をしてきて、すべてのボーンが対応しおえたところで、T-Poseにするボタンを押すと、服や目などすべてのパーツがそろってきれいにT-Poseになるはず。
  • 各設定項目(アバターの名前やバージョン等)を入力してエクスポート完了!

3. VRM化したアバターでzoom配信を行う

3-1. 3tene

  • 3tene freeをインストール
  • 左列の「アバターの選択」のところからエクスポートしたアバターを導入
  • 左下の写真マークのアイコンから、グリーンバックに設定できる(zoomでバーチャル背景を使いやすい)
  • 右上のアイコンから、各種設定を開始すると撮影が始まる(リップシンクや全身操作は自分の環境ではできなかった)

3-2 zoom

  • zoomのビデオ設定から「3tene Screen Capture」を選択
  • 「グリーンバックがあります」を選択するとよいかも

Discussion