Oculus Mediumでモデリングした作品をUnityで使用する。
久しぶりの記事投稿になりました。
2017年初になりますね。
この記事を読んでいらっしゃるそこのアナタ、いかがな日々をお過ごしでしょうか。
僕はというと昨年12月にOculus Touchが届いて以来、すっかりVR浸けの日々を過ごしています。
すごいぜ、Oculus Medium
さて、そのOculus Touchにバンドルされている「Oculus Medium」。
これは粘土のような素材のオブジェクトをVR空間内で自由にモデリングできるという、未来感溢れるとても素晴らしいソフトです。
Facebook CEOのザッカーバーグ氏は、Mediumで造形した小物を3Dプリンタで出力し、彩色などを整えて自分の愛犬にプレゼントしたそうです。
これからはモノづくりもVR主体になっていくかもしれない…そんな可能性を感じさせるエピソードですねえ。
作った作品をUnityで使いたい
で、ここからが本題。
そんな素敵なMediumですが、UnityでVRコンテンツを開発する際、Mediumで造形した作品をUnityプロジェクト内にオブジェクトとして配置できたらもっと素敵だと思うんです。
自分のコンテンツに……自分の手(Touch)で一生懸命作った作品を……登場させる!
できるんです。
できるのですが、ほんの少しばかりの工夫が必要なのです。
Mediumから出力したobjファイルをそのままインポートしても、イマイチうまくいきません。
なんか配色がおかしくなったりします(たぶんシェーダー辺りの問題)。
そこでこの記事では、その「ほんの少しばかりの工夫」の手順を紹介したいと思います。
別に難しいものではありませんので身構えなくても大丈夫です。
手順紹介
今回紹介する方法は、Oculusフォーラムのこちらのスレッドに載っているものです。
→ Oculus Medium Export Object To Unity — Oculus
以下がその手順となります。
1.Oculus Medium上で、作品をobj形式ファイルとしてエクスポートする
メニュー画面から、obj形式ファイルで作品を出力します。
なお、この際に同時出力されているpngファイルは後ほどUnity上で利用します。
頭の片隅に入れといてください。
2.MeshLabをダウンロード・インストールする
3Dデータ編集・変換ソフト「MeshLab」を公式サイトからDL・インストールします。
フリーソフトです、ありがたや。
3.MeshLab上で編集する
ここからはMeshLab上での作業となります。
3-1. メニューのFileからImport Meshを選択し、objファイルをインポート
3-2. メニューからFilters - Texture - Parametrization: Trivial Per-Triangleを選択
3-3. Texture Dimentionのpx値(1024)を2048に変更し、Applyボタンを押す
3-4. メニューからFilters - Texture - Transfer Vertex Attributes to Texture (1 or 2 meshes)を開く
3-5. Texture widthとTexture heightのpx値(1024)をそれぞれ2048に変更
3-6. Assign Textureの項目にチェックを入れ、Applyボタンを押す
3-7. メニューのFileからExport Mesh As...を選択し、objファイルで保存
以上で編集作業は終了です。
4.Unityにインポートする
Unityに、先ほどMeshLabから出力したobjファイルをインポートします。
このとき、始めにMediumからエクスポートした際に同時出力されているpngファイルも、Unityプロジェクトへインポートしておきます。
次に、objファイルをドラッグ・アンド・ドロップ(D&D)してシーンに追加します。
そして最後に、例のpngファイルを対象オブジェクトの子(default)にD&DすればOK。
するとどうでしょう、(ほぼ)Mediumで彩色した通りのオブジェクトになるはずです。
あとはレンダラーなどを好みに合わせて適当に調整してみてください。
以上で手順紹介は終了となります、おつかれさまです。
おわりに
すごいぜMedium。
すごいぜUnity。
かがくのちからってすげー!