SabaProps

性能詳細

1 個体あたりの規模

値は収録種全体の最小と最大です。offline 検査 (verify.sh) の出力から読めます。

段階鳥の三角形数鳥の頂点数魚の三角形数魚の頂点数
Silhouette34〜5648〜644〜508〜86
Low70〜17264〜13818〜19611〜120
High202〜836150〜56060〜100832〜568

High で三角形数が多いのは、指状に分かれた翼端を持つ鳥 (トビ、ワシ、ツル、コウノトリなど) と、縞模様のある魚です。

頂点 Shader の負荷

主光源と Light Probe / 環境光は ForwardBase で処理します。追加の pixel light は ForwardAdd を増やし、頂点の運動計算も pass ごとに実行されます。大きな群れに多数の pixel light を重ねる場合は負荷を実測してください。ShadowCaster pass はありません。

頂点 Shader は頂点ごとに群れの運動を 3 回評価します。向きと傾きを中心差分で求めるためです。負荷は三角形数よりも頂点数にほぼ比例します。

例えば 300 羽のムクドリでは、段階ごとの規模は次のとおりです。

段階頂点数三角形数
High45,60061,200
Low19,80021,600
Silhouette16,80010,800

遠景では LODGroup により Silhouette 段が選ばれます。

LOD の切り替え

LODGroup の大きさ (LODGroup.size) は、群れ全体ではなく 1 個体の大きさ (翼開長または体長) に設定します。段階は、群れの中心から見た 1 個体の画面占有率で切り替わります。群れ全体の bounds を基準にすると、個体が点にしか見えない距離でも High 段が選ばれるためです。

既定の lodTransitions (0.03 / 0.006 / 0.0008) で、垂直視野角 60 度、LOD Bias 1 のとき、各段階が使われる距離は次のとおりです。

種HighLowSilhouette描画しない
ムクドリ (翼開長 0.39 m)11 m まで56 m まで420 m まで420 m より遠く
マガン (翼開長 1.5 m)43 m まで216 m まで1,620 m まで1,620 m より遠く
ネオンテトラ (体長 0.03 m)0.9 m まで4.3 m まで32 m まで32 m より遠く

距離は群れの中心から測ります。広い範囲の群れの内側にカメラがある場合、カメラの近くの個体も中心までの距離に応じた段階で描画されます。

目安

  • 遠景の大きな群れは、lodMode を LodGroup のままにしてください。
  • 近くで見せる少数の個体は、lodMode を Single、detail を High にします。
  • 個体数が数百の群れを複数置く場合は、count と画面占有率 lodTransitions を調整し、High 段が使われる範囲を狭めてください。
  • 影の描画は行いません。Renderer の Cast Shadows は生成時に Off になります。
  • 1 つの群れの頂点数が 65535 を超える場合、Mesh は 32 bit index になります。

culling

群れ全体が 1 つの Renderer なので、culling は群れ単位です。Mesh の bounds は 範囲 + 1 個体の最大到達距離 で設定され、画面に範囲の一部が入っていれば群れ全体が描画されます。