地形で崖の面を表す方法は?


12

ゲームで地形をプログラムで表現するための最良の方法を見つけようとしています。ハイトマップ(または等間隔の頂点のグリッド)を使用して地形の表面を表現し、スプラットマップを使用して滑らかなテクスチャリングを可能にすることを検討してきました。これは完全に滑らかな地形では機能しますが、問題は崖と鋭い崖面をどのように表現するかです。

崖自体は、他の地形とは異なる方法でレンダリングする必要があります。たとえば、崖の前面に異なる(伸びていない)テクスチャを表示する必要がありますが、これにスプラットマップを使用した場合、崖のテクスチャが透けて見えるほどの崖の面を持つことは不可能です地面から完全に分離されています。

写真は千の言葉を言うので...

ここに画像の説明を入力してください

崖や地形の高さの他の急激な違いを保存および/またはレンダリングする一般的な方法は何ですか?


4
実際に真に垂直な崖があるゲームはほとんどなく、それらはすべて少なくとも1つのグリッドの単位で上から下に傾斜しています。レンダリングは、その勾配を考慮して横壁のテクスチャから引き出すスプラットマップシェーダーで実行できます。写真のようなブロックは、ローカルフレーバーを提供するために、ハイトマップの上にジオメトリとしてドロップされます。
パトリックヒューズ

回答:


7

その写真は、彼らが崖を作成するために余分な小道具を使用しているように見えます。プレーンの高さマップを使用して地形を表す場合、これがほとんど唯一の解決策です。良いニュースは、一般的に使用されており、正常に機能することです。(プログラミングの観点から)最も簡単な解決策は、レベルエディターで必要に応じて追加の小道具を配置することです。おしゃれにしたい場合は、一連の小道具から自動的に選択して、地形を一致させるツールを使用できます。

高さマップ上で顔を押し出す機能を提供することができます。これにより、少し複雑になりますが、完璧な垂直面が得られます。ハードエッジを覆います。

最後のオプションは、高さマップをすべて忘れて、地形を完全なジオメトリにするだけですが、高さマップのすてきなシンプルさを失います。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.