第24回 草原の大量描画とGPU Instancing
3 / 4 共有する値と個体ごとの値
このステップの目的
草株で共有する値と、株ごとに異なる変換を区別します。
草株の形と材質を共有する
草原の見本は、すべての株で一つのMeshとMaterialを共有します。株ごとに異なるのは位置・回転・大きさを表す変換行列です。共有Materialの根元色や穂先色を変えると、草原全体の基準色が変わります。
見本の細かな色の違いは株の位置を使った計算で作っており、株ごとの色を別の入力として渡しているわけではありません。Instance IDは描画中の個体を区別するための手掛かりですが、この見本では保存用IDや個体色として使いません。
二株で対応を見る
Aを左、Bを右に置き、Aだけ向きと大きさを変える表を作ります。形とMaterialは共有し、位置・回転・大きさは株ごとに異なると分類します。多数へ増やす前に、Aの変換を変えてもBの変換が変わらない理由を説明してください。
条件を変えた確認
同じMeshとMaterialの草株を二つ描き、Aだけ大きくしたい場合を考えます。共有Materialを変える方法と、Aの変換行列を変える方法のうち、どちらを選ぶべきか説明してください。
考え方の確認
共有Materialの変更は両方へ影響します。Aの変換行列だけを変えれば、Bの形・材質・配置を保ったままAを大きくできます。描画方式が適用されたかは、実機では描画記録で別に確認します。
共有するMesh・Materialと、株ごとの変換を区別した表を残します。
チェックリスト
- 共有するMesh・Materialと株ごとの変換を分類できる。
- 変更した条件と、予測・計算した結果を対応付けて説明できる。