アセットの自作に挑戦!

1573659582.jpg

3Dモデルをアセットに

今回はCustom Unity Assetで読み込めるアセットの自作に挑戦してみました。アセットといっても環境とかエフェクト等いろいろありますが簡単なオブジェクトを題材にします。
作業にはUnityを使用します。筆者のUnity知識は2年ほど前にMMDモデルをインポートしてVRでダンス鑑賞するのにちょっと使った程度なので全くの素人レベルですが、解説動画を参考にやってみました。
参考にしたのはこちらの動画。

必要なもの

Unity(2018.1.9f2 もしくはそれより古いもの)
Asset Bundle Blowser(Unity提供の無料プラグイン)
お好きな3Dモデルのデータ

Unityをインストール

まずはUnityを準備します。バージョンは2018.1.9f2もしくはそれより古いものが必要です。VaMの開発バージョンよりも新しいUnityでビルドしたデータだと後でVaMに読み込ませる時に具合が悪いのかも知れません。このへんはVaMのバージョンによって事情が変わるかも。
こちらからUnityの過去バージョンがダウンロードできます。

Asset Bundle Blowserを導入

動画のように手動で導入してもいいですが、Asset Storeからも直接インストール→インポートすることができます。
2019_11_13 17_01_45

3Dモデルを用意する

自作というならBlenderのようなツールで創りたいところですが筆者にはそんなスキルが無いのでShareCGなどのCG共有サイトで入手してきます。
Unityでは様々な3Dモデル形式を扱えるようですが上記の解説動画と同じくobj形式でやってみます。メジャーな形式なのでほとんどの3Dソフトからエクスポート可能です。BlenderやDAZからエクスポートした小物もアセット化できました。

2019_11_13 17_15_10
今回はこの爆裂魔法が得意そうな杖をアセットにしてみます。

Unityで作業する前に

スケールを確認するための物差しとして使うために、VaMからPersonのモデルを出力します。

VaM 2019_11_10 16_35_39
PersonのControl最下段にあるExport OBJ~という箇所をクリックします。

VaM 2019_11_10 16_39_23
VaMのルートフォルダにfemale3と名の付くファイルが合計4つ出てきました。使用するのはfemale3.objのみです。

Unityでプロジェクトの初期設定

適当に新規プロジェクトを作り、Asset Bundle Blowserを導入します。初期シーンはカメラと光源1個だけの世界ですが、このカメラと光源もアセットには不要なので削除します。

ツールバーのEditからProject Settings→Playerを開き、以下のように設定します。
Other SettingsのColor SpaceをLinearに変更。
XR SettingsのVirtual Reality Supportedにチェックを入れ、Stereo Rendering MethodをSingle Passに変更。
ここで一旦Save Projectします。今後アセットを作る時はこのプロジェクトを使い回せばこの初期設定は次回以降省略できます。

モデルを読み込む

3DモデルをフォルダごとUnityのプロジェクトウィンドウにドロップすればコピーされます。 先ほど用意した杖のファイルとVaMから出力したfemale3.objを取り込みましょう。

モデルをシーンに配置する

まずは杖のobjをシーンにドラッグ&ドロップで配置します。シーン上のオブジェクトを選択するとインスペクターウィンドウが出るのでここで位置座標をゼロに設定します。
DX11_ 2019_11_13 18_04_21

家具の場合は脚の下端が高さ0になるようモデルのY座標を調整しておくとVaMでシーンへ配置する時に便利です。大きさの調整が済んでから行います。
DX11_ 2019_11_13 19_56

大きさを調整する

杖と同様にfemaleのobjもシーンに配置して原点に移動させます。

DX11_ 2019_11_13 18_10_16
これで比較すると杖がとても大きい事がわかりますね。VaMの世界に持ち込む前にここでちょうど良い大きさに変更しましょう。

DX11_ 2019_11_13 18_14_18
杖のScale factorを1から0.08に縮小したら程良いサイズになりました。これで物差しとしてのfemaleの役目は終わったのでfemaleは削除します。

DX11_ 2019_11_13 18_14_12
Generate Collidersにチェックを入れてApplyでコライダー(剛体。物理演算に必要)が生成されます。必要であれば実行しておきましょう。


マテリアル設定

DX11_ 2019_11_13 18_26_1
プロジェクトウィンドウでCreate→Materialでマテリアルを作ります。選択するとインスペクターウィンドウにシェーダーやテクスチャの設定が表示されます。
杖に付属していたテクスチャを適当に当てはめていきます。モデルによっては使い道のよくわからないテクスチャがたくさん入っていたりして、どこにどう設定していいものやら悩みます…。
DX11_ 2019_11_13 18_26_2
この杖は特に難解なことはありませんでした。

マテリアルをモデルにドラッグ&ドロップして納得の行く見た目に整ったならモデルの準備はOKです!シーンに任意の名前を付けて保存します。
DX11_ 2019_11_14 1_21_17

アセット化する

Asset Bundle Blowserの導入が済んでいればツールバーのWindowから選択できます。

bandicam 2019-11-13 18-47-24-032
Asset Bundle BlowserのConfigureタブに先ほど保存したシーンをドラッグ&ドロップします。
Buildタブに切り替えてBuildをクリックすればアセットが作成されます。

3D オブジェクト 2019_11_13 18_52_16
うまくいったら指定したパスに4つのファイルが出力されています。シーンと同名で拡張子の無いファイルがあるのでそれをVaMの[\Custom\Assets]内にコピーして拡張子(.assetbundle)を付けてやります。
できあがり!VaMで動作確認してみましょう。
1573660993.jpg

複数のオブジェクトをバンドルする

オブジェクトを保存したシーンを複数用意します。
bandicam 2019-11-13 19-45-33-565
Asset Bundle BlowserのConfigureで同一バンドル内にシーンを登録していきます。これでビルドすればOK!

マナーを守って楽しもう

ネット上で入手した3Dモデルのアセット化は著作物の改変にあたります。無料で配布されている物であっても再配布に際してのルールは作者の方の意向を尊重し必ず守りましょう。

リンク

定番サイト。人や服だけじゃなく様々な物の3Dモデルが入手できます。

こちらも大量の3Dモデルが入手できます。3Dでプレビューできるのが特徴。対応ブラウザを使えばVRですべてのモデルを閲覧できるので見るだけでも楽しいサイトです。

イラストだけでなく3DCGも盛んに投稿されています。国内サイトなので日本人向きな作品が多いです。


関連記事