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 ]