HoloLens Advent Calendar 2018の21日目の記事です。
今年はリアルアバターが流行りましたね!VRChatのおかげ?
VRChatに「3Dスキャンした自分」のアバターを作ったぞー!🎉
— 坪倉輝明@メディアアーティスト (@kohack_v) 2018年1月22日
主人公感出すために能力者っぽいエフェクトも追加してサイコーじゃ😂😂😂
現実の体を捨ててリアル(?)バーチャルYouTuberとして生きていける!?
#バーチャルYouTuber #VRChat pic.twitter.com/wloei94dxL
今回は、3DスキャンしたリアルアバターをHoloLens上に表示してみました。
HoloLensでリアルアバターを召喚する話は2年前でしたね。
→ Perfume x TMCN x HoloLens
3Dスキャン
3Dスキャンに使用したのは、
- iPad Air 2
- iSense(いまは売ってないので、Structure Sensor)
- itseez3D(スキャンアプリ)
アプリを起動し、右上のNew Scan
からFullbody
を選択、顔と枠を合わせて、スキャンを開始します。
3分くらいかけて体の周りをゆっくり回って、端末を上下しながら全身をスキャンします。
スキャンしたモデルは、Local Preview
ではあまりいい結果がでませんが、Cloud Processing
(10分程度かかる)をすることで精度のいいモデルが出力されます。
スキャンしたモデルは.PLY、.OBJ、.WRL形式でダウンロード可能です。
えきまえスペースでは、周りの壁が白いためスキャンしづらい環境ではありますが、比較的明るいためキレイなモデルを作成することができます。
Checkout @makoragi Full body by Satoshi Fujimoto https://t.co/oDmuggIR8w via @itSeez3D
— 藤本賢志(ガチ本) (@sotongshi) 2018年12月24日
3Dモデルを編集
Blenderを開き、ファイル->インポート->Wavefront(.obj)からmodel_mesh.obj
をインポートします。だいたい20万ポリゴンくらい。
VRChatでも使えるように、ポリゴン数削減とリグ入れを行います。
まずは、ポリゴン数削減、Decimateの比率を0.09くらいにして、2万ポリゴン以内に収まるようにします。シェーディングをスムーズにするとカクカクした面がいい感じに滑らかになります。
リグ入れ
まずは、VRChat用のリグのサンプルをダウンロードします。
ダウンロードしたVrchat_Example_Avatar.fbx
をBlenderからインポートします。
リーフボーンを無視
とボーン方向の自動整列
にチェックを入れること。
サンプルのアバターのBody
とEye
を削除し、リグの大きさと位置をリアルアバターに合わせて調整します。
モデル->リグの順に選択し、Ctrol
+p
を押して、アーマチュア変形->自動のウェイトでを実行します。
うまくいけば、ポーズモードでリグを選択し回転してみると、ぐねぐねできます。
ファイル->エクスポート->FBX(.fbx)を選択し、モデルをエクスポートします。
HoloLensで表示
開発環境は以下です。
- HoloLens RS5
- Visual Studio 2017(15.9.2)
- Unity 2017.4.11.f1
- HoloToolkit-Unity-2017.4.3.0.unitypackage
- HoloToolkit-Unity-Examples-2017.4.3.0.unitypackage
Unityを開き、新しくプロジェクトを作成します。
ファイル作成した.FBXファイルをD&DしてUnityに取り込みます。
Scaleの設定、Generate Colliders、Rig->Humanoidを適用します。
model_texture.jpg
をMaterialsにD&Dし、model_texture
のAlbedo
にmodel_texture.jpg
をアタッチすることでテクスチャを貼り付けます。
"Unity-chan!" Modelをインポートし、ボタンをタップすることで、モデルをジャンプさせます。
#HoloLens Makoragi RealAvatar: https://t.co/zkKK5hOAmv via @YouTube
— 藤本賢志(ガチ本) (@sotongshi) 2018年12月24日
まとめ
- 3Dスキャンし、リアルアバターを作成しました
- ダウンロードした3Dモデルを編集し、HoloLens上に表示してみました
- リップシンクや、手の移植、アニメーション作成などをするともっと面白くなりそうですね