LODの設定方法 gmax
2009/04/15
改訂 2013/01/26
VC が完成したら、LODの設定に入ります。
LOD とは Level Of Detail の略。
機体が近くにある場合は出来るだけ緻密な、つまり Polygon を
多く使った機体で出現させ、遠方にあるときは簡略化した機体を
出現させる設定です。
目的は、PCへの負担を軽くして、フレームレートを稼ぐためです。
海外フォーラムの記事をまとめてみました。
間違いがあるかも知れませんが、ご容赦を。
逐次、修正していきます。
設定方式の違い
設定の仕方は、以下のようにありますが b) が推奨です。
a) グループ化する
Exterior(Dummy Object)
--<Plane_LOD_100>(group)-----
Interior(Dummy Object)
--<Interior(group)>----------
修正するときに、その都度group を解除しなければならない。
全体像をつかみ易い。
b) Dummy Object を使用(推奨)
Exterior(Dummy Object)
--PlaneName_LOD_100(Dummy Object)----
---wing_l_01
---canopy_01
Interior(Dummy Object)
--Interior(Dummy Object)----- ←省略可
---×××
FS2004のgamepacks にある Curtiss Jenny の方式です。
gmax で構成を見ますと以下のようになっています。
Exterior(Dummy Object)
--Jenny_LOD_400(Dummy Object)
--Fuselage(Dummy Object)
--Back(Dummy Object)
--Elevator_key_10
--
--
--
--Jenny_LOD_5(Dummy Object)
--Fuselage_0(Dummy Object)
--Fuselage_2
Interior(Dummy Object)
--xxxx
となっています。 Dummy Object を多用しています。
c) 全てのObject に LOD を設定する
Obujectの末尾に LOD を表記
c_gear_LOD_100
c_gaer_LOD_50
簡単な物なら良いが、コピーしたとき、suffix が付くのでリネーム
しなければならない。
FSバージョン別の仕様の違い
ポリゴン数は、参考です。
実際には、FS上で確認しながら決めてください。
Planeには、実際の機体名をいれてください。
グループ化した場合は、グループ化した後に group pivot point を
(0,0,0)にリセットする。
shadow を試したが、うまくいかなかった。原因不明で、今後の課題。
1.CFS2とFS8(FS2002)の場合 (双発戦闘機)m0m さんの機体
Exterior
Plane_LOD_100 14,200 poly
Plane_LOD_90 5,300 poly
Plane_LOD_75 450 poly
Plane_LOD_35
Palne_LDO_15
Interior
Shadow
2.CFS3の場合 (単発プロペラ機)
cockpits
damagebox_fuselage
Plane_LOD_100 9,300 faces
Plane_LOD_90 5,600 faces
Plane_LOD_70 4,900 faces
Plane_LOD_50 2,500 faces
Plane_LOD_25 500 faces
Plane_LDO_10 130 faces
3.FS9(2004)の場合 (4発大型機)
Exterior
Plane_LOD_400 65,000 poly
Plane_LOD_150 44,000 poly
Plane_LOD_75 25,000 poly
Plane_LOD_35 12,000 poly
Plane_LDO_15 500 poly
Interior (full vc) 69,000 poly
Shadow (LOD_50 程度)16,000 poly
計
231,500 poly
4.FSXの場合
FSX の場合は、Exterior と Interior が別のファイルになる。
Plane_Name (ダミーオブジェクト)
小立方体を使用すると、最上位のLODしか表示されない。
必ず、ダミーオブジェクトを使用すること。 方法は下記に記述。
Microsoft ESP SDK より
Plane_LOD_400 14,000 Tryangle
Plane_LOD_150 11,000 〃
Plane_LOD_075 7,000 〃
Plane_LOD_035 3,000 〃
Plane_LDO_015 800 〃
Plane_LOD_005 50 〃
Interior は、ダミーオブジェクトが不要。
Shadow
1)FS2004の機体をFSXに移植してみたら3桁でなくても、
LODが作動した。(gmaxFS2004でコンパイルしたもの)
しかし、Select Object ウィンドウでは、3桁にしたほうが、
400-150-075-035-015-005 と順番がそろって,見やすい。
2)下位のLODを作成する場合、AnimationManager の再設定が必要。
Tips
アニメーションの削除
LOD_50 以下はアニメーションを削除 (LOD_35以下の記述もあり)
LOD_25 以下はMapping 無し。parts(Object)色のみ 註)
m0m さんのご指導
註1)(Curtiss Jenny は Mapping がしてあった)
註2)(アニメーションの削除はキーフレーム 0→100→50の順番が
中立軸位置に正しく戻る)?
Tips
gmax Dummy Object の作り方
1 Creat Tab → Helpesrs → Dummy
マウスでクリックしてドラッグで立方体を作る
2 初期名は、Dummy01 なので Name & Color でリネーム
3 大きさの調整は、 Uniform Scale でする。
4 Reset X-Form で Reset 。続いて Hierarchy で Scale を
Reset する。
5 位置は、XYZ 0 , 0 , 0 近辺とする
Tips
階層の作り方 (FS2004 の場合)
別項のVCモデルの作成とは、少し方法が異なります。
方法は、色々あるとお考えください。
例)
1 exterior の dummy object を作成。
< >はdummy object を示す。
Select Object ウィンドウ
<exterior>
2 全てのパーツ(objecot)を作成。
各パーツは×××_01からスタートする。
interior部のパーツも作成しておく。
Select Object ウィンドウ
<exterior>
wing_l_01
canopy_01
panel_01
l_gear_01
----l_tire_still_01
----l_tire_blurred_01
3 全てのパーツ(object)を exterior にリンクする。
パーツの下階層のパーツはリンクから除外する。
これをしないと、全てが同一の階層にリンクされてしまう。
例) ----l_tire_still_01
----l_tire_blurred_01
自動的にこれらは、link されます。
Select Object ウィンドウ
<exterior>
---wing_l_01
---canopy_01
---panel_01
---l_gear_01
----l_tire_still_01
----l_tire_blurred_01
4 mdl を作成・フライトして出来具合を確認。
5 exterior の階層全て(<exterior>含む)を選択して clone(copy)する。
Clone Option ウィンドウが表示されるので、Name 欄で
interior とリネームする。
不必要なパーツを削除する。
Select Object ウィンドウ
<exterior>
---wing_l_01
---canopy_01
---panel_01
---l_gear_01
----l_tire_still_01
----l_tire_blurred_01
<interior>
---wing_l_02 自動的に末尾が
02となる
---canopy_02
---panel_02 →削除する
---VC_pane_01
→追加作成する(VCgauge用)
6 mdl を作成・フライトして出来具合を確認。
7 LOD_400 の作成のための前作業。
interior 部は混乱を避けるために、非表示にする。
(<interior> とその下の階層全て)
<exterior> のみも非表示にする。
Select Object ウィンドウ
wing_l_01
canopy_01
panel_01
l_gear_01
----l_tire_still_01
----l_tire_blurred_01
8 LOD_400 のdummy object を作成。
PlaneName_LOD_400 と命名
Select Object ウィンドウ
wing_l_01
canopy_01
panel_01
l_gear_01
----l_tire_still_01
----l_tire_blurred_01
<PlaneName_LOD_400> 新規に出来る
9 下の階層をPlaneName_LOD_400 に link。
上記のwing_l_01 から l_gear_01 までを選択して、link
Select Object ウィンドウ
<PlaneName_LOD_400>
---wing_l_01
---canopy_01
---panel_01
---l_gear_01
----l_tire_still_01
----l_tire_blurred_01
10 全表示に戻す
以下の階層になる
Select Object ウィンドウ
<exterior>
<interior>
---wing_l_02
---canopy_02
---VC_pane_01
<PlaneName_LOD_400>
---wing_l_01
---canopy_01
---panel_01
---l_gear_01
----l_tire_still_01
----l_tire_blurred_01
11 <PlaneName_LOD_400> を<exterior> に link
<PlaneName_LOD_400>
のみを選択して link する。
その下の階層は、自動的に link します。
以下の階層となります。
Select Object ウィンドウ
<exterior>
---<PlaneName_LOD_400>
---wing_l_01
---canopy_01
---panel_01
---l_gear_01
----l_tire_still_01
----l_tire_blurred_01
<interior>
---wing_l_02
---canopy_02
---VC_pane_01
12 LOD_150 の作成。
LOD_400 のdummy object 以下を clone(copy)
PlaneName_LOD_150
と命名
微細なパーツを削除して、polygon 数を縮減する。
Select Object ウィンドウ
<exterior>
---<PlaneNmame_LOD_400>
---wing_l_01
---canopy_01
---panel_01
---l_gear_01
----l_tire_still_01
----l_tire_blurred_01
---<PlaneNmame_LOD_150>
---wing_l_03
---canopy_03
---panel_03
---l_gear_02
----l_tire_still_02
----l_tire_blurred_02
<interior>
---wing_l_02
---canopy_02
---VC_pane_01
13 以下同様な方法で、LOD_075 以下を作成。
clone 元の---PlaneNmame_LOD_150 のみを
表示し、それ以外は非表示として進めていく。
注意
確認試行をしてありませんので、おかしな個所が
あるかもしれません。
階層の作り方 (FSX の場合)
Clone( コピー ) だけで出来ます。
Plane_name
-----Plane_LOD_400 を選択して Clone コマンド
この時名前を Plane_LOD_150 に変える
以下同じ方法で。
Tips
gmax LOD用にポリゴン(フェイス)数を縮小する方法
橘花の場合 Face Thresh:7.2 Faces:1048/541 (約半分になっている)
これほど変形しても、遠方から見るとそれっぽく見えます。
この方法は自動処理なので、どのような結果になるか予想が付き
ません。よって、低LODには有効ですが、高LODには不向きです。
でも、Mappingをやり直す必要がないのが、メリットです。
1. Editable Mesh → Face → 範囲指定(一般的には、全部)
2. Modifier List → Mesh Editing → Optimize
→ Face Thresh (デフォルトが4.0)
数値を0.0に入れ直すと修正前の状態になる。
▲をクリックしながら上方にドラッグすると
数値がどんどん上がります。(gmax共通仕様)
4画面(例Top/Back/Left/Perspective)を見な
がら、調整をする。
→ Edge Thresh → 1.0のまま
下方欄の Before / After を見て目標値を確認
Before/After
Vertces: nnn / mmm
Faces: LLL / ooo ←この数値
3dsMAX ならば、もう少しましなToolがあるらしいです。
[ Return ]