4

私はしばらくの間この質問を熟考してきました...多くの3Dエンジンは、四分木、LODを使用した高度な地形レンダリングをサポートしています...あなたが期待するすべての機能。しかし、私が見たすべてのエンジンは、高さマップから高さデータをロードします...グレースケールビットマップ。これがどのように役立つのか理解できません。ハイトマップの各ポイントは、256個の値のいずれかを持つことができます。しかし、エベレストをモデル化したい場合はどうでしょうか。1メートル以上のディテールで?これは256の範囲をはるかに超えています。もちろん、これを実現するために独自の地形フォーマットを実装できることは理解していますが、高さマップが大きな制限にもかかわらず広く使用されている理由がわかりません。

4

6 に答える 6

6

ハイトマップは非常に軽量で、読み込みが非常に速く、手続き的にかなり簡単に生成できます。また、メモリに非常に小さなフットプリントを使用します。

それらは簡単で高速であり、多くのシナリオをうまく処理できるため、多く使用されています。そうは言っても、それらはすべてのシナリオに役立つわけではなく、完全に一般化された地形形式でもありません。

于 2010-06-10T22:05:50.717 に答える
5

グラフィックスを表示するという観点から、通常重要な最大の精度は、(簡単に言えば)最終的なディスプレイ1の1つのピクセルです。一般的な現在のモニターの解像度を考えると、高さマップ用にさらに2〜3ビットを用意するのがよいでしょうが、ほとんどのジオメトリでは、実際には必要ありません。特に、1ピクセルで多くの用途に使用できる最高の精度がほぼ定義されますが、エベレスト山を描画して、その高さが実際には2〜3ピクセル間違っていることは、ほとんどの人にとって実際には大きな問題ではありません。時間。

つまり、エベレスト山の高さマップに1メートルの精度を使用したいという考えは、単なる間違いです。そのレベルの精度の必要性(または使用)はまさに間違いです。まれなものと存在しないものの境界。同時に、ピクセルあたり1バイトのような比較的高密度のフォーマットを使用することは、一般的にかなりのことを意味します。つまり、ストレージと帯域幅が少なくなり、表示が高速になります。

  1. 技術的にはアンチエイリアシングを使用すると、サブピクセルの解像度は何かを意味する可能性がありますが、それ以外の場合はかなりギザギザに見えるスムージングラインのようなものでは重要ですが、山の高さを正しくするようなものではそうではありませんほぼそんなに意味します。実際、ほとんどの人がほとんどの時間を気にかけている限り、それは完全に無意味です。
于 2010-06-10T22:22:59.390 に答える
3

ハイトマップの長所:

  1. 遠くから見ると実際の地形のように見えます。
  2. zが上にあると仮定すると、任意のx、yで高さを計算するのは非常に簡単です。これは、プレーヤーの移動、衝突検出、および物理学に役立ちます。
  3. ペイントプログラムで簡単に編集できます。

ハイトマップの短所:

  1. 大きな平坦な領域(一定の高さ)がある場合は、メモリを非効率的に使用します。
  2. 大きな平坦な領域がある場合は、レンダリングハードウェアを非効率的に使用します。
  3. 急な地形や張り出した地形を表すことはできません。
  4. 正方形の領域のみを表すことができます。
于 2010-06-10T22:22:14.937 に答える
0

しかし、エベレストをモデル化したい場合はどうでしょうか。

あなたは何か他のものを使うでしょう。明らかに、遭遇したすべてのエンジンがハイトマップを使用している場合、それはそれらに対して問題なく機能します。単純な解決策があなたのために働くならば、物事を過度に複雑にする必要はありません。

于 2010-06-10T22:08:57.130 に答える
0

ハイトマップのもう1つの利点は、一般に、物理学と動きの側面を困難にするオーバーハングの問題を回避できることです。ただし、hightmapを使用しても、オーバーハングを作成する可能性のある他のジオメトリを使用できます。

また、高さがあまり変化せずに伸びない限り、テクスチャリングを簡単にすることができます。

于 2010-06-10T22:12:24.017 に答える
0

ハイトマップには、ハードウェアを直接サポート(テクスチャリング)するという利点があり、既存のペイントツール(特殊なものでも)を使用して描画できます。

もちろん、ハイトマップに格納されている情報の形式によっては、一部のレンダリングが本来あるべきように見えない場合がありますが、ハイトマップが実際には間違った状況で使用されているためです。

拡張機能として、ハイトマップピクセルは、16ビット浮動小数点数(半精度浮動小数点数)または32ビット浮動小数点数で格納できるため、固定精度の8ビットピクセルで許可されるより高い範囲と精度が可能になります。

于 2010-06-10T22:28:11.413 に答える