問題タブ [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.

0 投票する
0 に答える
1364 参照

c++ - マーチング スクエアを使用してビットマップのポリゴン メッシュを生成するにはどうすればよいですか?

あらゆるビットマップ テレインとの衝突を正確に検出して反応できるようにする必要があります。最適な方法は、マーチング スクエアを使用してポリゴン メッシュを生成し、これを Bullet などの物理エンジンで使用できるようにすることです。私が自分で書くことができるものよりもはるかに優れています。

問題は、これを行うためにマーチング スクエアを使用することについて多くの人が言及しているのを見てきましたが、その方法を説明するものが見つかりません! マーチング スクエア アルゴリズム自体について特に優れた説明やチュートリアルを見つけることさえできませんでしたが、見つけたものからはかなり理解していると思います。私が理解できないのは、MS が提供する線からポリゴンを作成する方法です。

これはまさに私が作りたいものですが、C++ 用の同様の物理ライブラリを見つけるか、メッシュ生成を自分で作成する必要があります。

http://deltaluca.me.uk/docnew/swf/DestructableTerrain.html

物理エンジンのソースを調べて、それがどのように機能するかを確認したくないので、プロセスをもう少し詳しく説明している場所をどこかで知っていることを願っています! C++ であれば何でもよいですが、プロセスがよく説明されていれば他の言語でも問題ありません。

0 投票する
2 に答える
2247 参照

java - 地形チャンクの整列(ダイヤモンド二乗アルゴリズム)

Minecraft風のチャンクを使用する地形エンジンをプログラミングしています。チャンクは、Diamond-squareアルゴリズムを使用して個別に生成されます。

問題は、これらのチャンクが整列しておらず、完全に分離していることです。私はそれらをそうさせるために多くのことを試みました、しかし今のところそれがそうするべきであるように何もうまくいきませんでした。

編集:また、私が作成しようとしている世界は無限ではありません。33x33のチャンクの配列を生成し、それぞれに別のダイアモンドスクエアジェネレーターによって割り当てられたグローバルな高さの値があります。

ダイアモンドスクエアエンジンを変更してチャンクを整列させる(簡単な、できれば)方法はありますか?

0 投票する
2 に答える
4494 参照

c++ - 四分木ベースのLOD地形の例を探しています

私はグーグルとアマゾンを検索してきましたが、四分木ベースのLOD地形でまともなソースを見つけることができませんでした。大まかな概念を説明したばかりの人もいますが、これは私がすでに知っていることであり、いくつかのコメントを含む例です。

0 投票する
1 に答える
974 参照

java - OpenGL で 2D 地形を作成する際の問題

少し前に、opengl 頂点を使用して 2D 地形を作成する方法についてこの質問をしました。良い答えが得られましたが、試してみると何も描画されず、何が問題なのか、どのように修正するのかわかりません。

私は今これを持っています:

これは、Mesh クラスも提供する Libgdx によってレンダリングされていますが、これは問題なく動作すると考えているため、実際には関係ありません。私の問題は、頂点とインデックスの生成にありました。私はそれをデバッグする方法もよく知らないので、誰かがそれを見て、何もレンダリングされていない理由を見つけるのを手伝ってもらえますか?

0 投票する
1 に答える
1535 参照

android - Android-ビットマップが間違った縮尺で描かれている

私は楽しみのために単純なタイルベースの地形ジェネレーターに取り組んできましたが、少し問題が発生しました。

まず、情報:

デバイス:Acer Iconica a500

OS:ICS

ターゲットバージョン:3.1以降

使用可能な画面解像度:1280x752

プログラム:Eclipse / AIDE

だから、今問題:

私が使用しているすべてのタイルは、本来よりも大きく描かれています。Tehyはすべて32x32.pngファイルですが、すべて43 x 43で画面に描画されています。私が読んだところによると、これはおそらく描画先のキャンバスの密度に関係しているので、追加して修正します

残念ながら、これでは問題は解決しませんでした。個々のビットマップについても同じことを試みましたが、役に立ちませんでした。

私はここStackや他の場所で解決策を見つけようとしましたが、今のところ運がありません。

誰かがこれを修正する方法を知っていますか?

前もって感謝します。これが私の描画クラスの完全なコードです:(このコードにはおそらく多くの問題があることを知っています。私はアマチュアプログラマーです。建設的な批判を歓迎します)

0 投票する
2 に答える
1480 参照

java - 3D: 地形のレンダリング/作成方法

私は 3D ゲームに取り組んでおり、すべてのオブジェクトをコードに配置する必要があります。Java OpenGL にオブジェクトを配置するエディタを作成する方法はありますか?

そして、世界全体 (それは一種巨大です) を 1 つの大きなメッシュにするのが最善でしょうか、それとも別の方法で行う方が良いのでしょうか?

0 投票する
2 に答える
464 参照

google-maps - グーグルマップの地形を実現する方法INURL

私はこのURLを使用しています:

http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode =&q = Zagreb、+ Croatia&aq =&sll = 45.808351,15.897484&sspn = 0.010066,0.016544&vpsrc = 0&ie = UTF8&hq =&hnear = Zagreb、+ Croatia& m&z = 14&ll = 45.794222,16.048298&output = embed

何を追加する必要があり、どこでTERRAINをdefautで表示されたものではないように見せますか?

thnx

0 投票する
1 に答える
339 参照

javascript - ThreeJS の平地

ThreeJS を使用して平面地形を描画しようとしていますが、うまくいきません。

これが私の飛行機作成コードです:

かなり簡単です。実は某サイトからコピペしただけです。

これは、シーンとカメラを初期化する方法です。

また、中心に半径 20 の球があります。ちゃんと映ります。

私は何が欠けていますか?

0 投票する
1 に答える
198 参照

android - ロードされるビットマップの数を減らす必要があります (静的ビットマップ参照?)

私は、構築しようとしているゲーム用の単純なタイルベースの地形生成システムに取り組んでおり、少し問題が発生しました。個々のタイルに必要なビットマップを選択して保存する新しい方法を開発しようとしています。世界の描画を実行する前にビットマップをすべてロードし、タイルのタイプに基づいてビットマップを選択するという非常に単純な方法を使用しました。

残念ながら、タイルとワールドの種類にバリエーションを追加するため、選択プロセスはおそらくかなり複雑になるでしょう. そのため、どのタイルにするかを決定するために必要なすべてのルールと同様に、そのデータをタイル オブジェクト内に格納することをお勧めします。

私が直面している問題は、このメソッドによって、ビットマップへのポインタをロードするだけでなく、タイルごとにビットマップのコピーをロードすることです。これにより、メモリが消費され、GC が少し混乱します。

私が探しているのは、使用されるさまざまなビットマップへの静的ポインターを作成し、ビットマップの新しいコピーをロードするのではなく、タイル オブジェクトでそれらのポインターを参照する簡単な方法です。私が遭遇した問題は、コンテキストへの参照なしではビットマップをロードできず、静的メソッドでコンテキストを参照する方法がわからないことです。

これを回避する方法について誰かアイデアがありますか?

これが私のタイル クラスと、タイル タイプ クラスの例です (これらはすべてほとんど同じです)。

タイル: パッケージ com.psstudio.hub.gen;

タイルの種類 (草):

「holder = BitmapFactory」は、事前にロードされたものを指すのではなく、すべての草のタイルに新しいビットマップをロードしているため、私の問題を引き起こしていると思います。