【Unity】3Dモデルのインポート設定
FBXなど3Dモデルのインポート設定で個人的に重要だと思う項目をまとめてみた。
Model
Scale Factor
読み込んだ3Dモデルにスケールを掛けてサイズを調整したい場合に使用します。注意として Scale Factor を変更した3Dモデルに関連するアニメーションがある場合、そちらの Scale Factor も同じ値にする必要があります。
ファイル形式 | デフォルト値 |
---|---|
.fbx, .max, .jas, .c4d | 0.01 |
.mb, .ma, .lxo, .dxf, .blend, .dae | 1 |
.3ds | 0.1 |
Mesh Compression
メッシュを圧縮します。32bit浮動小数点の代わりに固定小数点*1を使ってサイズを減らすので小数点以下の値を細かくし過ぎると形状が破綻する事があります。キャラモデルの顔などが影響しそうです。
Read/Write Enabled
メモリを2倍消費するのでチェックを外します。
ただし、MeshCollider と ParticleSystem で Mesh を以下のように使う場合はチェックが必要です。
・不均一スケーリング、(2,1,1)など
・親オブジェクトが回転・縮小を設定する
Optimize Mesh
CPUが計算しやすい頂点の並びに変更します。
Index Format
インデックスバッファのフォーマットを設定します。
Mode | 説明 |
---|---|
Auto | メッシュの頂点数に応じて 16bit か 32bit を選択します。 |
16bit | 常に16bitフォーマットを使います。頂点が上限数より多いメッシュは分割されます。 |
32bit | 常に32bitフォーマットを使います。頂点が上限数より多くてもメッシュは分割されません。 |
頂点数が65535以内であれば16bit、それ以上になる場合は32bit にします。
ちなみに上限数を超えてメッシュが分割された場合は以下の警告が表示されます。
Weld Vertices
同じ位置にある頂点を結合し頂点数を減します。
Normals
法線が必要ないなら None で無効に出来てメモリを節約します。殆どのキャラや背景のモデルはライトを使うので無効にするのは難しいですが、例えばMayaで作成したUI演出のモデルなどは無効にできそうですね。
Tangents
法線マップを使わなければこれも必要ないです。
Rig
Animation Type
アニメーションタイプを設定します。人型なら Humanoid、4つ足動物などの人型以外はGenericを選択します。Legacy は Unity3.x以前の古いアニメーションをサポートするものですが AnimationClipPlayable で再生出来ない等の問題があるため使うことはあまり無いでしょう。
goisagi-517.hatenablog.com
Optimize Game Object
チェックを入れると Animator が設定されているGameObject以下で何もコンポーネントが設定されていないGameObjectを削除します。
GameObjectを消されたくない場合(例えば揺れもの、剣などのリンク先)は Extract Transforms to Expose に対象のGameObjectを設定すれば良いです。
Animation
Anim Compression
アニメーションの圧縮方法を設定します。Keyframe Reduction を選択した場合、インポート時にキーフレーム数を減らします。Keyframe Reduction and Compression を選択した場合は Keyframe Reduction と同様にキーフレーム数を減らすと同時にファイルサイズをより小さくできます。
Animation Compression Errors
位置(Position Error)、回転(Rotation Error)、スケール(Scale Error)の各キーフレームを減らす割合を設定します。値が大きい程、キーフレームを減らす割合が増えメモリ消費が少なくなりますが、アニメーションの品質を維持する事が難しくなります。特にループアニメーションのつなぎ目などは注意が必要です。また、このオプションは Anim Compression で Keyframe Reduction or Optimal を選択した場合のみ有効になります。