思い付きで3Dスキャンしたデータにリグ(ボーン)、モーションをつけてHoloLensに入れてみたら、思いのほか反響があったのでおおよその手順を記録しておきます。
慣れるとスキャンからリグ入れまでで30-60分でしょうか。
詳しい人からすると目新しいものではないかもしれませんが、手軽にここまでできるようになったというのは進歩なんだろう思います。
モデル
フリー素材です。常識の範囲内でご使用ください。
https://www.dropbox.com/sh/kxtcgvzbgxo4bzv/AAAS1TkKjCWPe826qYXQkhr_a?dl=0
必要な機材、アプリ
- Storcutre Sensor:iPadに装着する3Dスキャナーです。iPadの世代によってStructure Sensorのブラケットが違うの注意してください。Structure Sensor単体で$379です。
- iPad:Structure Sensorを装着します。
- itSeez3D:3Dスキャンアプリです。クラウドで処理してダウンロードする際に課金されます。サブスクリプションによって値段が変わりますが、1体あたり$7と考えておけばいいと思います。
- Unity:HoloLensアプリを作ります。
- Maya(Blender):3Dスキャンしたモデルデータにリグ(ボーン)を入れます。ぼくはMayaの自動リグを使いました(廉価版のMaya LTでも可)。出力はFBXにします。
- Motion Builder(Blender):モーションデータを加工します。UnityはBVHファイルが使えないので、モデルデータに埋め込むか、BVHをFBXに変換します。
- HoloLens:オプション。見るだけならUnityエディター上でも、VRデバイスでもなんでも。
手順
1. iPadにStructure Sensorを接続し、itSeez3Dで3Dスキャンします。このとき、Tポーズでとることで、リグを入れて好きなようにできます。ただし、Tポーズの3Dスキャンが難しいのでAポーズでリグを入れてモデルを調整するやり方でもいいかもしれません。
2. スキャンデータはクラウドに上げて処理されます。しばらくすると、iPadでプレビューできます。itSeez3Dアプリでここまでの手順は無料です。
3. 3Dデータに問題なければダウンロードします。ここで課金が発生します。
4. 3Dモデルの形式はOBJなので、MeshLabなどで見られます。
5.このモデルをMayaに入れ、モデルを調整(スケールの関係でX,Y,Zの大きさをそれぞれ100倍、正面を向くように回転)し、自動リグ処理をします。
このファイルをFBXで出力すれば、Unity上で扱えるようになります。
6.モーションデータを作成します。UnityはBVHファイルが使えないので、Motion Builderでモデルデータに埋め込むか、BlenderでBVHをFBXに変換します。
7.3DモデルとモーションデータをUnityに入れ、アプリを作成します。
そのままだとHoloLensで表示するには重いのでメッシュの数を減らしたり、ボーンも調整してあげると、きれいに表示できるようになります。
ちなみに、モーションデータはPerfume official global websiteのものを使用しています。
3Dスキャン、リグ入れは場所、機動性とトレードオフで改善可能なので、それも進めようと思います。