Virt-A-Mate(VaM)の CustomUnityAsset は、Unityで用意した小物・家具・背景などをVaMへ読み込む仕組みです。
この記事では、3Dモデルを1個読み込む最小構成から始めて、サイズ調整、質感、当たり判定、AssetBundle化、VaM側での確認までを一本につなげます。
先に3行で
- Unity 2018.1.9f1 の専用プロジェクトを用意する。
- モデルをSceneへ配置し、サイズ・原点・マテリアル・コライダーを整える。
Standalone Windows 64向けAssetBundleを作り、VaMのCustom\Assetsから読み込む。
新しいUnityへ置き換えないこと、配布権のない素材を同梱しないことが重要です。
Custom Unity Assetとは
AssetBundleは、モデル、テクスチャ、マテリアル、Prefab、Sceneなどを、Unityが実行時に読み込める形へまとめたファイルです。
VaMではCustomUnityAssetというAtomを追加し、そのAtomから.assetbundleまたは.sceneを選んで利用します。衣服や髪としてPersonへ直接装着する形式とは別物です。
必要なもの
- Unity 2018.1.9f1
- Unity Asset Bundle Browser
- 利用条件を確認済みの3Dモデル
- モデルに必要なテクスチャ
- Virt-A-Mate 1.xの動作環境
3DモデルはOBJやFBXなどを利用できます。OBJは静的な小物に向き、FBXは階層、ボーン、アニメーションなどを保持したい場合に向きます。
なぜUnityのバージョンを合わせるのか
AssetBundleは単なるZIPファイルではなく、Unityの実行環境に依存する形式です。制作側と読み込み側のUnity世代が合わないと、ファイルを選べても中身が表示されない、Invalidになる、マテリアルが崩れるといった問題が起こります。
VaM 1.x用の制作環境では 2018.1.9f1 を使い、ほかのUnity制作物とはプロジェクトを分けます。普段使っている新しいUnityプロジェクトを流用しない方が、誤ビルドを防ぎやすくなります。
最初に一度だけ行うプロジェクト設定
Unityで3Dプロジェクトを新規作成し、Asset Bundle Browserを追加します。その後、Edit → Project Settings → Playerで次を確認します。
| 設定 | 値 | 目的 |
|---|---|---|
| Color Space | Linear | VaM側の照明と質感を合わせやすくする |
| Virtual Reality Supported | ON | VR向け表示に対応させる |
| Stereo Rendering Method | Single Pass | VaMのVR描画方式に合わせる |
この状態を空の制作テンプレートとして保存しておけば、次回から初期設定を繰り返さずに済みます。
3Dモデルを読み込む前の確認
1. ライセンス
「無料でダウンロードできる」と「AssetBundleへ入れて再配布できる」は同じではありません。
最低限、次を別々に確認します。
- 個人利用の可否
- データ改変の可否
- 加工後データの再配布可否
- 商用利用の可否
- 作者名やライセンス表記の要否
- 成人向け作品での利用可否
条件が分からない素材は、個人テストだけに留めます。
2. 単位・原点・向き
異なる3Dソフトでは、1単位の大きさや上方向が一致しないことがあります。Unityへ入れた直後に、次を確認します。
- 上方向がY軸になっているか
- 正面方向が意図どおりか
- 小物や家具の大きさが人物に対して自然か
- 回転とScaleに極端な値が入っていないか
- 配置基準にしたい場所へPivotがあるか
家具なら脚の接地点を高さ0へ、小物なら握る位置や中心を基準にすると、VaMで置きやすくなります。
Unityでの制作手順
1. モデルとテクスチャを取り込む
モデル専用フォルダをAssets内に作り、モデル・テクスチャ・マテリアルをまとめて読み込みます。素材ごとにフォルダを分けると、別のAssetBundleへ不要なファイルが混ざりにくくなります。
2. Sceneへ配置する
モデルをHierarchyまたはSceneへ配置し、いったんPositionを0, 0, 0にします。
サイズが合わない場合は、Model Import SettingsのScale Factorで調整する方法と、Scene上のTransform Scaleで調整する方法があります。再利用するモデルはImport Settings側で基準サイズを整え、Scene固有の微調整だけをTransformで行うと管理しやすくなります。
3. マテリアルを整える
基本的なPBR素材では、次の対応を確認します。
| テクスチャ | 主な役割 |
|---|---|
| Albedo / Base Color | 表面の色 |
| Metallic | 金属らしさ |
| Normal | 細かな凹凸 |
| Occlusion | 隙間や接触部の陰影 |
| Emission | 自発光 |
Normal Mapは、テクスチャのImport Settingsで種類をNormal mapとして認識させます。画像をそのまま色テクスチャとして入れると、凹凸が正しく計算されません。
最初はUnity標準のShaderで表示を固め、特殊Shaderは必要になってから追加した方が問題を切り分けやすくなります。
4. コライダーを決める
コライダーは見た目ではなく、物理判定用の形です。すべてのモデルに必要なわけではありません。
- 飾るだけ:コライダーなし
- 箱や家具:Box Colliderを組み合わせる
- 円柱状:Capsule Colliderなどを検討する
- 複雑な静的地形:必要な範囲だけMesh Colliderを使う
高密度モデルへそのままMesh Colliderを付けると、物理処理が重くなります。見た目より単純な形で近似するのが基本です。
5. CameraとLightを整理する
VaM側の視点を使うため、Unity Scene内のCameraは通常不要です。
Lightも、VaM側で動的に配置するなら削除または無効化します。ベイク済み照明を使う環境では残す場合がありますが、「Unityで焼いた明るさ」と「VaM側の照明」を重ねると不自然になりやすいため、どちらが担当するかを決めます。
6. Sceneを保存する
分かりやすい英数字名でSceneを保存します。ファイル名、Bundle名、出力名は、空白や記号を減らして統一しておくと安全です。
AssetBundleを作る
Window → AssetBundle Browserを開く。Configureタブへ保存したSceneを登録する。Buildタブを開く。- Build Targetを
Standalone Windows 64にする。 - 出力先を確認してBuildする。
ビルドすると、Bundle本体のほかにManifest関連ファイルも生成されます。VaMへ読み込ませるのは、対象Bundle名と同じ拡張子のない本体ファイルです。
本体のコピーへ.assetbundleを付け、次へ配置します。
VaMのフォルダ\Custom\Assets\任意のサブフォルダ\my_asset.assetbundle
Asset Bundle Browserでvariantをassetbundleにして、出力先をCustom\Assetsへ設定する運用もできます。ただし最初は別フォルダへ出力し、正しいファイルだけをコピーする方が事故を防ぎやすくなります。
VaMで読み込む
- Sceneへ
Misc → CustomUnityAssetAtomを追加する。 - Atomを選択してCustom Unity Assetの画面を開く。
Select File...から.assetbundleを選ぶ。- 読み込み完了まで待つ。
- Bundle内のSceneまたはPrefabを一覧から選ぶ。
ファイルを選んだだけでは、表示対象がまだNoneのことがあります。Bundle内の項目を選ぶところまで確認します。また、モデルが真っ黒または見えない場合は、VaM SceneへLightを追加して確認します。
複数のオブジェクトを1つへまとめる場合
小物ごとにSceneまたはPrefabを分け、同じBundleへ登録できます。VaM側ではBundleを読み込んだあと、収録項目を選択します。
ただし、巨大な環境と小物をすべて1ファイルへ詰め込むと、更新・再配布・読み込みの単位が大きくなります。用途や更新頻度が違うものはBundleを分ける方が扱いやすくなります。
症状別チェック表
| 症状 | 最初に確認すること |
|---|---|
| ファイルを選べない | 拡張子が.assetbundleか、配置先がCustom\Assetsか |
Invalidになる | Unity 2018.1.9f1で作ったか、Windows 64向けか |
| 一覧が空 | SceneまたはPrefabをBundleへ登録したか |
| 読み込んだのに見えない | Bundle内の項目を選んだか、Lightがあるか |
| 大きさがおかしい | Import時のScale Factor、単位、親Transformを確認 |
| ピンク色になる | Shaderの互換性、Material、Texture参照を確認 |
| 表面が平らに見える | Normal MapのImport Typeを確認 |
| 物理処理が重い | Mesh Colliderの数とポリゴン密度を減らす |
| 床へ埋まる | Pivot、原点、モデル下端のY位置を確認 |
一度に全部を直さず、Bundleが読める → 形が見える → サイズ → 質感 → 物理の順で確認すると原因を見つけやすくなります。
配布前チェックリスト
- Unity 2018.1.9f1で最終ビルドした
- Build TargetがStandalone Windows 64になっている
- VaMを再起動した状態でも読み込める
- Bundle内の全Scene・Prefabを開ける
- 不要なCamera、Light、素材を除いた
- サイズ、原点、向きが自然
- コライダーが必要以上に複雑でない
- 使用素材すべての再配布条件を確認した
- 配布物へ元モデルの不要なソースデータを混ぜていない
- 別環境で配置先と読み込み手順を再確認した
まとめ
VaM用Custom Unity Asset制作で重要なのは、豪華なUnity知識よりも、互換バージョンと確認順序を固定することです。
2018.1.9f1の専用環境
→ モデルの尺度と原点
→ 標準的なマテリアル
→ 必要最小限のコライダー
→ Windows 64向けBuild
→ VaMで実読込
この最小ルートが通ってから、ベイク照明、アニメーション、特殊Shader、複数Sceneなどを一つずつ追加すると、壊れた場所を見失いにくくなります。
感想