第19回 Height MapによるParallaxとDisplacement
3 / 4 高さによる頂点の変位
このステップの目的
頂点のある場所でだけ形を変えられる制約を理解します。
位置へ変位を加える
Displacementでは、頂点位置へ基準方向と変位の積を加えます。平面なら上向き、曲面なら法線方向を使う方法があります。基準位置から求め、前フレームの変位へさらに同じ変位を足し続けるとは考えません。
頂点でTextureを読むときは、画素側とは使える情報が違います。基本では高さを読むMip Levelを明示する考え方に留め、画面上の微分による自動選択をそのまま前提にしません。Mipは縮小したTextureの段階です。
頂点がなければ山は増えない
四隅しかない平面では、Textureの中央に白い山があっても、その中央に動かす頂点がありません。頂点密度を増やすと細部へ追従できますが、頂点処理の量も増えます。Shaderで見た目の位置を変えても、CPU側のColliderは自動更新されません。
条件を変えた確認
上向きの単位法線(0,1,0)と高さ0.2を使う場合、位置(1,0,2)はどこへ動きますか。同じ式を頂点4個の面と細かく分割した面へ使った場合も比較します。
考え方の確認
位置は(1,0.2,2)です。変形は存在する頂点に対して行われるため、同じHeightでも分割数によって輪郭の細かさが異なります。
元位置と変位後の位置を記録します。
チェックリスト
- 中央に頂点がない平面では中央の山を再現できない理由を説明できる。
- 変更した条件と、予測・計算した結果を対応付けて説明できる。