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上に表示してみました
- リップシンクや、手の移植、アニメーション作成などをするともっと面白くなりそうですね



