1

私はなんとかC#でマーチングキューブアルゴリズムを実装することができました。これまで、球をレンダリングするアルゴリズムを試しました。密度関数のコーディングはそれほど複雑ではないため、これは簡単な方法です。

しかし今、私はアルゴリズムをさらに進めて、ゲームのためにいくつかの興味深い地形をレンダリングしたいと思っています。したがって、このタスクには適切な密度関数が必要です。私の頭に浮かぶ最初のことは、体積パーリンノイズです。それは大丈夫ですが、私は凸状の形のない地形を探しています。つまり、現時点では洞窟や同様の形状はありません。

わかりました。そのためには、単純な高さマップで十分ですが、ボクセルで生成された地形が必要です。それらを実装するには、どのタイプの密度関数または擬似コードが必要ですか?

4

1 に答える 1

2

高さマップをボクセル地形に簡単に変換できます。高さマップの各ピクセルは、ボクセル ワールドのボクセルの列に対応します。ハイトマップ内の特定のピクセルについて、高さを読み取ります。次に、対応する列の各ボクセルを反復処理し、基準高よりも低い場合は「ソリッド」に設定し、基準高よりも高い場合は「空」に設定します。

PolyVoxライブラリを使用したサンプル コードを次に示します。

于 2012-02-19T08:18:35.343 に答える