この記事の3行まとめ
- 大量の草をインタラクティブに揺らす仕組みを紹介する記事が、トイロジック技術開発ブログにて公開
- 投影テクスチャと頂点シェーダを使った草揺れの手法とその利点と問題点を紹介
- その手法の解決策として、2チャンネルのHeightfieldの情報を使うDual Heightfield Trailについて解説
トイロジックは、『Dual Heightfield Trailによるインタラクティブな草揺れ表現について』と題した記事を、同社の技術開発ブログにて公開しました。
(画像はブログより引用)
公開された記事では本題に入る前に、大量の草をインタラクティブに揺らす仕組みの例として、投影テクスチャと頂点シェーダによる手法が紹介されています。
これは、真上から投影したテクスチャにフレームごとに足跡などを描画し、草の頂点シェーダで参照して草を曲げるという手法です。
(画像はブログより引用)
この手法はキャラクターや草が増えてもパフォーマンスが落ちにくいなどの利点があります。
一方で、高さの情報がないため、キャラクターが空中にいる時など、草に触れていないシーンでも草が揺れてしまう問題があると言及しています。
投影テクスチャと頂点シェーダによる草揺れの手法だと、たとえば地形が上下に重なっている場合、無関係な草も揺れてしまう(画像はブログより引用)
その解決方法として取り上げられているのが「Game Developer Conference 2019(GDC2019)」で発表された、Dual Heightfield Trailという手法です。
GDC2019で行われたInteractive Wind and Vegetation in ‘God of War’の講演動画
この手法ではRチャンネルとGチャンネルによる2種類のHeightfieldを使用します。
Rチャンネルは足跡の高さを示し、GチャンネルはRチャンネルを毎フレームフェードアウト(上昇)させたものです。
(画像はブログより引用)
草揺れ表現への利用としてRチャンネルでは草が踏まれたかどうか高さの比較により判断し、Gチャンネルでは踏まれてからの経過時間を割り出して草の揺れ幅のコントロールに使用できるとのこと。
同記事では、トイロジックが開発中のタイトル『Warlander』での利用例なども紹介されています。
(画像はブログより引用)
トイロジックが開発しているタイトル『Warlander』でのDual Heightfield Trailによる、インタラクティブな草揺れ表現の利用例
詳細は、トイロジック技術開発ブログをご確認ください。
『Dual Heightfield Trailによるインタラクティブな草揺れ表現について』トイロジック技術開発ブログ