問題タブ [terrain]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xna - XNA 地形ビルダーの問題
私はこのチュートリアルから作業していますが、いくつかの問題がありました。 http://www.riemers.net/eng/Tutorials/XNA/Csharp/Series1/Terrain_from_file.php ページの下部にあるコードを使用してビルドしたところ、このエラーが発生しました
わかりました、それは本当に恐ろしく見えます。
私がやっていることは、これを XNA 4.0 で実行することです。これは XNA 3.0 からのものだと思います。問題はないと思いますが、念のため。これについて助けてくれてありがとう
2d - ピクセル ベースのワールド データの保存
破壊可能な地形で 2D ゲームを作成しています。これは iOS に実装されますが、実際のコードではなく、アイデアや疑似コードを探しています。大量のデータを保存する方法を考えています。(これは、幅約 64000 ピクセル、高さ 9600 ピクセルの大きな世界になります。各ピクセルには、オブジェクトの種類を格納する方法が必要です。) 2D 配列を使用することを望んでいましたが、簡単な負荷テストで、これは実現可能ではないことが示されました。 (640x480 グリッドを使用しても 1 fps を下回りました) ここで説明されている方法も試しました: http://gmc.yoyogames.com/index.php?showtopic=315851(以前ゲームメーカーを使っていたのでこの方法を思い出しました)しかし、少し面倒そうで、オブジェクトを再結合することはほぼ不可能です。では、他にどのような方法があるのでしょうか。ワームがどのように機能したか知っている人はいますか? 画像エディタはどうですか? 各ピクセルの色をどのように保存しますか? ありがとう、YM
c++ - マーチング キューブ、ボクセル、少し提案が必要
研究目的のためだけに、適切な破壊可能な地形を構築しようとしています。まあ、すべてうまくいきましたが、解像度は私を十分に満足させるものではありません. MC アルゴリズムを実装する例をたくさん見てきましたが、私が理解している限り、それらのほとんどは関数を使用して最終メッシュを三角測量しており、これは私には適切ではありません。
地形をどのように構築しているかを簡単に説明しようと思います。最終的な地形の解像度を改善または向上させる方法を提案してくれる人がいるかもしれません。
1) MC 三角形の事前計算。
各ケース (0-255) の MC ルックアップ テーブルを介して単純なループを実行し、[0,0,0] - [1,1,1] の三角形を計算しています。ここでは問題ありません。
2) 地形
ボクセルを保存する地形クラスがあります。一般に、次のようになります。
したがって、各軸は 32 単位の長さですが、ビットごとにボクセル情報を格納します。つまり、ビットがオン (1) の場合、何かがあり、何かを描画する必要があります。
私はいくつかの機能を持っています:
ボクセルの位置をオンまたはオフにします。(ビットの操作に役立ちます)。
地形が割り当てられたら、パーリン ノイズを実行し、ビットをオンまたはオフにします。
私の地形クラスには、x、y、z の位置からマーチング キューブのケース番号 (0 ~ 255) を抽出する関数がもう 1 つあります。
そのボクセルの隣人がオンかオフかを決定することによって。ここでは問題ありません。
3) レンダリング部分
軸ごとにループし、ケース番号を抽出してから、事前に計算された三角形をケースごとに取得し、x、y、z 座標に変換して、それらの三角形を描画します。ここでは問題ありません。
したがって、結果は次のようになります。
しかし、ご覧のとおり、どの単一の場所でも、解像度はたとえばこれに匹敵しません:
(ソース: angelfire.com )
MC の例で、人々が「iso 値」と呼ばれるものを使用しているのを見たことがありますが、これは私には理解できません。私の仕事を改善する方法、または iso 値とは何か、それを均一なグリッドに実装する方法についての提案は本当に素敵です。
c++ - 見えない地形
GL_TRIANGLE_STRIP を使用して地形を画面に描画していますが、プログラムをコンパイルして実行しても何も得られません。GL_TRIANGLE_STRIP を GL_LINES に変更すると、表示されて機能します。GL_TRIANGLE_STRIP で動作させるにはどうすればよいですか?
これが重要かどうかはわかりませんが、私の地形では、3D ガウス分布にするコードがあります。
c++ - ダイアモンド スクエア アルゴリズムを C++ で記述するにはどうすればよいですか?
重複の可能性:
ダイアモンド スクエア アルゴリズム
ダイヤモンド スクエア アルゴリズムを使用して、2D ゲームで地形を生成しようとしています。アルゴリズムを説明している多くのリソースを見つけましたが、実際に C++ で実装する方法を示しているものはありません。タイル ベースのゲームを作成しており、アルゴリズムを使用してランダムな世界 (水、砂、草、山) を生成したいと考えています。私の計画は、ダイヤモンド スクエア アルゴリズムの値を使用してタイルを決定することです。元。値が 1 未満の場合、水。値が 10 より大きい場合、山。等。
つまり、基本的に私が求めているのは、私が見て微調整できるダイヤモンド スクエア アルゴリズムの C++ の例を誰かが持っているということです。
java - 3D配列を3Dモデルに変換する
3DJava配列を3Dボクセルモデルに変換するために使用できるソフトウェアの種類を見つけようとしています。私はJavaでボクセル地形ジェネレーターを開発していますが、3次元整数配列を視覚化する方法が必要です。この目的に適したソフトウェア(またはAPI)は何ですか?
また、変換しようとしている配列は整数の3D配列であり、各整数は特定の色のボクセルに対応している必要があります。
c# - 3Dタイル張りの地形
XNAを使用して3Dでタイル状の地形を作成しようとしています。私はそれを行う方法についてのチュートリアルをチェックし
ました(RiemersとAllens)。Allensチュートリアルには、達成したい正確な結果がありますが、
パフォーマンスについてはよくわかりません。彼は単一の四角形を使用して
すべての地形を描画し、ピクセルシェーダーで処理しているようです。つまり、地形全体が
フレームごとに処理されます。
現在、タイルごとに四角形を描画しています(例)
。表示可能なタイルのみを描画できますが、各フレームでさらに多くの頂点を処理する必要が
あり、多くの「DrawIndexedPrimitives」が呼び出されることも意味します。
私はそれを正しくやっていますか、それともアレンの方法が速いですか?タイル状の地形をより良くする方法はありますか?
ありがとう。
java - カスタムマップフォーマットを最適化する方法(Java)
高さマップを使用した、大きなオープンワールド(200×200キロメートル)がある3Dゲームを作成しています。ハイトマップを1000×1000メートルの200×200=40,000の領域に分割し、それらを再び20×20=50×50メートルの400チャンクに分割します。ハイトマップはPNGファイルから生成されます。
地形を保存する方法を考えています。試してみましたが、リージョンあたり約16MBのファイルが生成されます。これは全世界(40,000リージョン)で640GBです。
リージョンファイルの例はここにあります:http: //updo.nl/file/e10ce974.umap
私の質問:リージョンファイルにこれほど多くの情報をコンパクトに保存し、後で読むにはどうすればよいですか?
c - 地形を .raw ファイルに書き込むにはどうすればよいですか?
Perlin ノイズを使用して地形を生成し、.raw ファイルに保存したいと考えています。
Nehe の HeightMap チュートリアルから、.raw ファイルは次のように読み取られることがわかっています。
}
pHeightMap
は 1 次元なので、x、y 対応を高さの値にどのように書き込めばよいかわかりません。Ken Perlin のページでlibnoiseまたはnoise2 関数を使用して、1024x1024 マトリックスの各値をポイントの高さに対応させることを計画していましたが、.raw ファイルは 1 つの次元に格納されています。どうすれば x を作成できますか? y 通信の仕事がありますか。
xna - ハイトマップからレンダリングされた地形のサイズ
私は XNA にまったく慣れていないので、「ばかげた」質問をしてすみませんが、答えが見つかりませんでした。
高さマップからレンダリングされた地形に問題があります。取得した地形が小さすぎます。ゲームにはもっと大きなものが必要ですが、高さの tdata を更新しておきたいので、後で衝突を確認できます。(高さデータは、各ポイントの高さを保持する 2 次元配列です。私のプログラムでは、「dateInaltime」と呼ばれています)。
問題は、地形の縮尺を変更すると、コリジョン チェッカーが (元の/小さな地形からの) 古い値を使用するため、間違ったコリジョン ポイントが得られることです。
私の地形クラスは次のようになります。
地形を大きくするだけでなく、高さのデータ配列を拡張するにはどうすればよいですか?