問題タブ [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 投票する
1 に答える
473 参照

terrain - Netlogo 地形の作成と拡散

特定の地形を設定するのに助けが必要です。200x200 パッチの世界があり、各パッチのサイズは 2 ピクセルです。私がやろうとしているのは、原点から始まる丘を作り、高度を世界の端まで均等に広げることです。

原点は最高高度 999 付近になり、エッジ周辺のパッチの高度は 0 に近くなります。世界の端から、原点に到達するまで、高度は絶えず増加するはずです。しかし、私には見えません。丘が世界の端まで伸びるようにします - 真ん中に小さな隆起があり、世界の残りの部分は完全に平らです.

誰かが地形の設定を手伝ってくれたり、高度を適切に拡散させる方法を説明したりできますか?

これまでのコードは次のとおりです。

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

c# - 「パーリン」ノイズ ジェネレーターに倍率を追加するにはどうすればよいですか?

スクロールする地形を作成するために使用しようとしているパーリン ノイズ ジェネレーターがあります。

中央の地形、それを囲む同じ側の 8 つの地形 (これらは正常に機能しています)、および 3 倍大きい地形の 2 番目のリングがあります。これらの場合、ノイズ ジェネレーターが 3 倍の「密度」のノイズを出力する必要があります。これにより、小さな地形の上に大きな地形を配置でき、3 倍のタイル (およびマップ サイズ) を除いて、それらは一致します。 .

より大きなマップを生成したいだけではありません。それはすぐに法外になるでしょう。

私は何をすべきかわかりません; 明らかな解決策はすべて、何らかの形で失敗しました。

ありがとう。

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

c# - XNA でマップ エディターを作成する方法

各ピクセル (黒から白) が対応する場所の地形の高さを表す高さマップ ファイルから生成される地形を作成しました。

さて、私の質問は、そのようなもののためのマップ エディタをどのように作成するかということです。2 つの一般的な方法を考えることができます。

1) マップ エディターは高さマップ ファイルを変更し、それに基づいて地形を再生成します。

2) マップ エディターは、マップの頂点を直接変更し、後でプロセスを保存すると、それらの頂点に基づいて高さマップを生成します。

いずれかを機能させる方法について、優れたチュートリアルやリソースはありますか? どこから始めればよいかわかりません。

0 投票する
3 に答える
462 参照

c++ - directx アプリケーションで、既知の位置で z (地形) を見つける

私の英語の知識は、私の問題を伝えるのに十分ではありません. 私はstackoverflowを2回目に使用しています。

私は directx アプリケーションをフックしています。画面に何かを書き込んで、画面やその他のものから入力を取得できます。

このゲームには地形があり、多くのプレイヤーがいます。プレイヤーの位置 (x、z、y) を直接編集できます。しかし、x 座標と z 座標を編集すると、プレイヤーが飛んでいます :) y 座標 (地形の高さ) を計算する方法がわからないため、計算できません。

プレイヤー座標は700、5.41、600

ゲームがそれを 800 と 700 に編集すると、ゲームは y を 6.50 にします

800 と 700 に編集すると、y 座標は 5.41 のままです

6.50 は座標、地形の高さ (800, 700)、5.41 は地形の高さ 700,600 です。

指定された座標の地形の高さを取得する方法はありますか?

ありがとうございました。

0 投票する
3 に答える
418 参照

algorithm - 観測された日の出から 2D 地形を計算するアルゴリズム

南アメリカの人々のチームは、互いに等角度の距離 (地球の中心から測定) で赤道に沿ってポイントに立っています。山岳地帯のため、それぞれ標高が異なります。私たちの目標は、時計を使用して標高を決定することです。

太陽が真東から昇る春分の日に、各人は注意深く待ち、太陽の先端が最初に見えた正確な時刻 GMT を (印象的な正確さと正確さで) 記録します。ある人にとっては、これが美しい南大西洋の地平線上に現れた時です。他の人にとっては、これは山頂の尾根をのぞいたときでした。

観測者の経度と最初に太陽を目撃した時刻を組み合わせたタプルのリストが与えられた場合、赤道に沿った高度の特定のサンプリングについて具体的な主張をすることができますか? 最初の観測者の標高を知る必要がありますか (この場合、海抜 0 フィート、浜辺の水につま先が入っています)。赤道を完全にカバーするラップアラウンド スタイルのチームが必要ですか? この数百人の貧弱なチームで解決できない場合、ほぼ無限の数のオブザーバーで解決できますか?

いいえ、これは宿題の問題ではありません。

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

algorithm - 2D 地形生成

「ムーンバギー」や「ルート960」などの地形はどのように作られているのですか?

「スコーチ」や「ミミズ」のような山がたくさんある地形のことではありませんが、丘や溝のある滑らかな地形を生成する方法を探しています。

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

java - ゲームにおける地形と衝突

車両が地面に沿って走行する新しいゲームを作成しようとしていますが、スラスターを使用して一時的に空中に浮く機能もあります。

私はゲーム プログラミングに関しては比較的初心者ですが、Java、C、C++ などでのコーディングはかなり得意なので、それが問題になるとは思いません (ゲームの最初のイテレーションは Java であると考えていました)。私の問題は、私がゼロから始めていることであり、車両が通り抜けないように地形を障壁にする方法を考えることができないということです. そして、どうすれば落下ダメージを受ける可能性がありますか?

過去に、これがすでに含まれているため、レプリカ島のソースに誘導されました。衝突システム全体が表示されますが、これまでのところ、それを理解することができず、誰かが喜んでくれることを望んでいました.私に手を貸してください。

ありがとうございました

-ロフラ

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

math - スケーリングされた地形のポイント (x、z) で地形の高さを正しく取得する方法

ハイトマップ イメージのすべてのピクセルをテレインに適切にマッピングするには、ハイトマップの実際の幅と長さより 1 単位少ない幅と長さのテレインになります。たとえば、幅がわずか 2 ピクセルの画像がある場合、各ピクセルはクワッドの各頂点にマップされます。2 ピクセルありますが、地形は 1 ユニットしかありません。

地形をスケーリングして、地形の端にある空のクワッドを埋めることで、この問題を「修正」しようとしています。ただし、(x,z) ポイントで地形の高さを取得しようとすると、これが問題になります。問題は、ご覧のとおり、正確にはスケーリングではありません。

まず、動作するコードを見てみましょう。スケーリングが不足しているクワッドを考慮していないもの。スケーリングなしで 1023x1023 の四角形 (実際には三角形を使用していますが、四角形で説明するのは簡単です) で地形を作成する 1024x1024 の高さマップがあります。

次に、次の関数に適切な引数を渡して、地形を 2000x2000 などにスケーリングします。

地形を描くときは、 と を使用stepWidthstepLengthて、それに応じて地形を適切にスケーリングします。地形はスケーリングされますが、1023 クワッドのみが使用され、常に 1023 であり、それ以上は使用されません (これで問題ありません)。ここで、ゲーム キャラクターを動かしていて、現在のプレイヤーの位置で地形の高さを取得する必要があるとします。xプレイヤーの位置と座標を取り、zその時点での高さを返す関数があります。しかし、地形の寸法はスケーリングされているため、関数に渡された をそのまま使用することはできませんxz次のように、正しいものを計算する必要があります。

その後、新しい 4 つの隣接する頂点を見つけ、すべての頂点の高さに対して双一次補間を実行して、プレーヤーの位置の正しい高さを計算するだけxですz

これはすべて正常に機能しています。地形が適切に描画され、すべての高さが適切に計算されます。私の問題は、この質問の冒頭で説明した「制限」を回避しようとするときです。

この問題を回避するために、スケール関数を次のように変更します。

地形のサイズ (上記のスケール関数に渡す値) が高さマップとまったく同じサイズ、つまり 1024x1204 であるとします。1.000977517106549364613880742913これにより、1023 クワッドが 0 から 1024 (地形のサイズ) に正確に収まるようにするステップが得られます。これまでのところ、地形は思った通りに描かれています。

本当の問題は、高さを計算することです。私は多くのことを試しましたが、上記の新しいステップ計算を考えるxと、正しいを計算しz、高さを返す関数で使用される方程式を理解できません。ダイビングと、以前のようにステップサイズを使用しても、うまくいきません。ステップの計算方法が少し異なり、以前ほど単純ではありません。xz

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

c# - Graphical GlitchXnaGraphicsTutorial-デバッグ

私の地形は次のような奇妙な色になります:

http://tinypic.com/view.php?pic=307w421&s=7

ここで何がうまくいかないのか誰かが知っていますか?コードのどの領域で(概念的に)これをデバッグする必要がありますか?

アップデート:

これは、私の学校のチュートリアルに基づいています:http: //www.riemers.net/eng/Tutorials/XNA/Csharp/Series1/Starting_a_project.php

BasicEffectシェーダーを使用し、カメラ、高さマップから派生した3D頂点テレイン、基本的なライティング、基本的なソフト法線、最適化のためのバッファーなど、エンジンのさまざまな部分を作成しました。

VertexPositionColorNormal構造体:

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

c++ - パーリン ノイズ ライブラリ libnoise の使用に関するヘルプ

x、y、および z を整数として libnoise の getvalue 関数を呼び出すと、結果として常に 0 が返されます。これは正常ですか?チュートリアルhttp://libnoise.sourceforge.net/tutorials/tutorial2.htmlのように 1.25、0.75、0.5 を試すと、期待される結果が 0.686347 になります。具体的には、20 未満の整数でこれを試しました。これがどのように機能するのか理解できませんか?

どんな助けでも大歓迎です。