概要
3Dゲーム開発において、キャラクター、背景、プロップ(小道具)などの3Dモデルは、ゲームの世界を構成する最も基本的なアセットです。これらのモデルは、通常、Blender、Maya、3ds Maxといった外部のDCC(デジタルコンテンツ制作)ツールで作成され、Unityにインポートして使用されます。
Unityは様々な3Dモデル形式をサポートしていますが、業界標準として最も広く使われているのがFBX (.fbx) 形式です。FBXは、メッシュ(形状)、UV(テクスチャ座標)、マテリアル、テクスチャ、リグ(骨格)、アニメーションといった 、3Dモデルに関する豊富な情報を一つのファイルに格納できます。
この記事では、DCCツールからFBXとしてエクスポートしたモデルをUnityにインポートし、ゲーム内で正しく表示・使用するために必要な基本的な設定項目について詳しく解説します。
Step 1: DCCツールからのエクスポート
Unityにインポートする前に、まずDCCツール側でモデルを正しくエクスポートする必要があります。Blenderを例に、一般的な注意点を挙げます。
- スケールと座標系: Unityはメートル単位(1 Unit = 1メートル)で、Y軸が上方向の左手座標系です。DCCツールの設定をこれに合わせておくと、インポート時のスケールや向きの問題を避けられます。Blenderの場合、エクスポート設定で
Transform > ScaleをApply Scalings: FBX Allに、Forwardを-Z Forward、UpをY Upに設定するのが一般的です。 - トランスフォームの適用: オブジェクトのスケールや回転が(1, 1, 1)や(0, 0, 0)でない場合、Unityで予期せぬ挙動の原因となります。エクスポート前に、必ずオブジェクトのトランスフォームを適用(Blenderでは
Ctrl+A > Apply All Transforms)しておきましょう。 - エクスポート対象: シーン全体ではなく、必要なオブジェクトのみを選択してエクスポート(
Limit to: Selected Objects)するようにします。カメラやライトはUnity側で作成するため、通常は含めません。
Step 2: Unityへのインポートとモデル設定
エクスポートしたFBXファイルを、UnityプロジェクトのAssetsフォルダ内にドラッグ&ドロップすると、モデルがインポートされます。インポートされたモデルアセットを選択すると、InspectorにModel Import Settingsが表示されます。ここで様々な設定を行いますが、特に重要なのはModel、Rig、Animation、Materialsの4つのタブです。
Modelタブ
メッシュに関する基本的な設定を行います。
- Scale Factor: インポート時のスケールを補正します。DCCツールとUnityの単位設定が合っていれば、通常は
1のままで問題ありません。 - Use File Scale: FBXファイルに含まれるスケール情報を使用します。通常はオンにしておきます。
- Read/Write Enabled: スクリプトからメッシュデータにアクセス(頂点を読み書きするなど)する必要がある場合にオンにします。不要な場合はオフにしておくことで、メモリ使用量を削減できます。
- Generate Colliders: オンにすると、メッシュの形状に基づいた
Mesh Colliderを自動的にアタッチします。単純な形状の場合は問題ありませんが、複雑なキャラクターモデルなどではパフォーマンスが悪化するため、通常はオフにし、別途Capsule Colliderなどを手動で追加します。
Rigタブ
キャラクターのリグ(骨格)とアニメーションタイプを設定します。キャラクター以外(背景、武器など)のモデルではNoneのままで構いません。
- Animation Type:
None: アニメーションを持たない静的なモデル。Legacy: 古いAnimationコンポーネント用。特別な理由がない限り使用しません。Generic: 人型以外のキャラクター(モンスター、動物など)や、アニメーションする機械などに使用します。Humanoid: 二足歩行の人型キャラクターに使用します。UnityのAvatarシステムにより、異なるモデル間でアニメーションを再利用(リターゲティング)できるようになる非常に強力な設定です。
- Avatar Definition:
Create from This Model: このモデルのリグ情報からAvatar(人型モデルの骨格マッピング情報)を生成します。Copy from Other Avatar: 他のモデルで作成したAvatarを流用します。
Humanoidを選択した場合、Configure...ボタンを押して、Unityが自動的に割り当てたボーン(骨)のマッピングが正しいかを確認・修正する必要があります。
Animationタブ
FBXファイルに含まれるアニメーションクリップを管理します。クリップの分割、ループ設定、名前の変更などが行えます。
- Import Animation: このチェックを外すと、アニメーションはインポートされません。
- Clips: FBX内に複数のアニメーションが含まれている場合(例: 1-30フレームが歩き、31-60フレームが走り)、
+ボタンでクリップを追加し、それぞれのStartとEndフレームを指定して分割します。 - Loop Time: オンにすると、そのクリップがループ再生されるようになります(歩き、走り、待機など)。
Materialsタブ
マテリアルとテクスチャのインポート方法を設定します。
- Location:
Use Embedded Materials: FBXに埋め込まれたマテリアル設定を使用します。ただし、Unityのマテリアルとして抽出しないと編集できません。Use External Materials (Legacy): 古い方式。通常は使いません。
- Material Creation Mode:
Import via MaterialDescriptionが推奨です。 - Extract Textures... / Extract Materials...: FBXに埋め込まれたテクスチャやマテリアルを、編集可能なアセット(
.png,.matなど)としてプロジェクト内に抽出します。通常、インポート後に一度はこの操作を行い、Unity上でマテリアルを調整できるようにします。
まとめ
外部で作成した3DモデルをUnityで正しく使用するには、インポート設定の理解が不可欠です。
- DCCツール側で、スケールと座標系をUnityに合わせ、トランスフォームを適用してからFBXでエクスポートする。
- UnityのModel Import Settingsで、モデルの種類に応じて各タブを設定する。
Modelタブ: スケールやコライダー生成などを設定。Rigタブ: キャラクターの場合はHumanoidまたはGenericを設定。Animationタブ: アニメーションクリップを分割・設定。Materialsタブ: マテリアルとテクスチャを抽出し、編集可能にする。
これらの設定を一度正しく行えば、モデルをシーンに配置し、アニメーションさせ、ゲームの重要なアクターとして活躍させることができます。