問題タブ [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.
3d - レイを地形モデルと交差させる方法は?
私は現在、XNAでRTSゲームを設計しています。これまでのところ、Heigthmapとそれに描画されたいくつかのユニットから生成された地形モデルがあります。
次のステップは、ユニットに移動先のコマンドを与えることです。そのためには、カーソルがクリックされたときのカーソルの後ろの地形の正確な位置を計算する必要があります。
単位の選択では、カーソルから画面に向かって離れる方向を指す光線を生成し、その光線と交差する最初の単位を選択するだけです。すべてが1つのモデルであるため、これは地形では機能しません。
誰か助けてもらえますか?
ニックよろしく
PS:YouTubeでこのビデオを見つけました。これは、私の問題の正確な解決策を示しています...残念ながら、コードを参照していません。http://www.youtube.com/watch?v=czHW3oK8_oI
3d - ハイトマップのポイントは何ですか?
私はしばらくの間この質問を熟考してきました...多くの3Dエンジンは、四分木、LODを使用した高度な地形レンダリングをサポートしています...あなたが期待するすべての機能。しかし、私が見たすべてのエンジンは、高さマップから高さデータをロードします...グレースケールビットマップ。これがどのように役立つのか理解できません。ハイトマップの各ポイントは、256個の値のいずれかを持つことができます。しかし、エベレストをモデル化したい場合はどうでしょうか。1メートル以上のディテールで?これは256の範囲をはるかに超えています。もちろん、これを実現するために独自の地形フォーマットを実装できることは理解していますが、高さマップが大きな制限にもかかわらず広く使用されている理由がわかりません。
java - フラクタル地形生成の問題
シンプルな1Dフラクタル地形ジェネレーターを2Dゲームで動作させようとしています。しかし、何らかの理由で、セグメント(x1、x2、y2)のこの出力に見られるように、常に丘、谷、または平坦な線を作成します。
範囲は-1から1です。
レベルを生成するために使用されるコードは次のとおりです。
}
何が悪いのかわかりません。助けてくれてありがとう。
c# - 3D 地形に「焦げたエリア」を作成する方法は?
私は C# と XNA を少し試しています。高度な「Riemers チュートリアル」を実行することは大いに役立ちましたが、地形をさらに改善したいと考えています。プレイヤーが戦車を操作し、他の建物や戦車を破壊する単純なゲームがあります。爆発による地形への影響をなんとか描きたいと思っています。私が望む効果は、多くの新しいゲームで見ることができます。たとえば、ここの右下隅に、地面に 2 つの暗いスポットが見えます (おそらく少し前に爆発が発生しました)。これはまさに私が達成したいことです。
誰かが私を正しい方向に向けることができますか? マルチテクスチャリングが必要になると思いますが、これに関しては、少し迷っていることに気づきました(ピクセルシェーダーに関するすべてのもの...)。これが唯一の方法ですか?もしそうなら、誰かが私がそれを機能させる方法を理解するのを手伝ってくれますか? または、他のアプローチはありますか?ありがとう。
編集:私は3Dグラフィックス理論に精通していないことを忘れていました. 私が知っていることはすべて簡単なチュートリアルに基づいているため、より詳細な説明が必要になる場合があります。現在、すでにテクスチャリングされた表面に何かを描く方法がわかりません。
c++ - C++でのOpenGlVBOの技術
OpenGLプログラムでのVBOの適切な使用法について少し混乱しています。
4096x4096のグレースケール高さマップから呼び出されたマップを「全体」マップとして使用して、地形ページングアルゴリズムを作成したいと思います。
私が読んだところによると、VBOに格納されている各頂点は64バイトを占めます。
私が抱えている問題は、ほとんどの情報源が、単一のVBOのサイズは1〜4 MBである必要があり、VBOは少ない方がよいと述べていることです。しかし、私の計算によれば、各頂点を保存するには、合計で約1ギガバイトのデータが必要になります。(4096x4096x64)これには、各頂点を三角形ごとに複数回格納する必要がある場合があることは含まれていません。
また、コードの地形部分が機能するようになると、このマップに表示されるさまざまな車両や人に対応することもできません。
私が調べたもう1つの解決策は、プログラムの実行中にハードドライブからデータをページングすることでしたが、別の情報源によると、プログラムの実行中に作成および破棄することはお勧めできません。また、VBOの数をできるだけ少なくすることをお勧めします。可能。
私が本当に知りたいのは、何が欠けているのかということです。64x64ブロックでテクスチャをロードしている場合でも、最大VBOサイズの4mbは非常に小さいように見えるため、ここで何らかの大規模な監視を行っていると確信しています。また、マップに入力されるさまざまなインタラクティブオブジェクトも含まれます。
それとも、私が達成できることへの私の期待は非現実的ですか?私が知らないより良い方法がありますか?私はOblivionやFallout3のようなゲームを見ていて、ある程度はBoundless Planetを見ていて、広大な地形を見て、一体どうやってそれが可能になるのか疑問に思っています。
私はコーディング方法を理解しています。これはOpenGLを深く掘り下げるのは初めてではありませんが、VBOを理解して利用するのは初めてです。
誰かがVBOの私の理解が間違っているところに光を当てることができれば、それは大いにありがたいです。
graphics - テッセレーション遷移
不連続性(亀裂)を導入しない地形レンダリングでは、細かいジオメトリから粗いジオメトリへのテッセレーション遷移を実装したいと思います。リアルタイムのパフォーマンスは必要ありません。つまり、ビューに依存しない場合があります。
次の提案についてどう思いますか。
代替テキストhttp://www.shrani.si/f/A/qD/2UJlczki/tessellation.png?
- それも可能ですか?
- 似たようなものを実装しましたか?
- 欠点は何ですか?
- もっと簡単な提案はありますか?
c# - 生成された地形はdirectX(C#)で表示されません
ご挨拶
私はこの方程式で地形を生成しました:
H(x、y)=(abs(sin(x * y))+ abs(sin(0,2 * x)+ sin(0,4 * y))+ abs(cos(0,12 * x)+ cos(0,47 * y)))* e ^(0.005 *(x + y))
さて、これは私に機能サイズと素敵なスロープの組み合わせを与えてくれます。scilabを使用してプロットすると、これは正常に機能します。
これをac#アプリケーションにインポートしてみました。
地形は次のコードで作成されます。
これはterrain.csというファイルに保存されており、後でプロセスのある種のリアルタイムログを作成できる単純なテキストボックスを追加する予定なので、これをWinFormにします。
ここで、別のファイルがあり、そのファイルに、この地形を表示する予定です。この2番目のファイルは次のようになります。
さて、まだ3番目のファイルは世界の作成と表示を呼び出します:
surf関数とbox-somthing関数はまだ何もしません。
私が今得ているのは、黒いウィンドウ(device.clear(...)の部分)だけです-カメラを調整しようとしました..成功しませんでした
助けてください、私は窓に地形を見せたいです...。
physics - Box2d-バイクゲーム-地形
私は自転車の物理ゲームにBox2dを使用していますが、Box2dを使用すると、8ポイント以下の凸多角形のフィクスチャを使用できます。フィクスチャをまとめて作成する以外に、複雑な凹面の地形を作成する簡単な方法を知っている人はいますか?それともそれが唯一の方法ですか?
任意のアイデア、ポインタ、提案...事前に感謝します!(どの言語でも構いません)
delphi - キャンバス/ビットマップのスクロールに関する質問
Delphi のキャンバスに基づいて小さなゲームを作ろうとしています。基本的にはかなり大きなビットマップ(例えば3000x3000)を作ってキャンバスに読み込んで、普通の画像ビューアと同じように上下左右にスクロールできるようにしたいのですが、できません。私が探しているものを見つけるようです。何か案は?
c++ - OpenGLでシャドウを取得する簡単な方法はありますか?
最近、ランドスケープコードを作成し、シーンに拡散照明を追加しましたが、残念ながら、影はありません。私はOpenGLで影を付ける方法を探して何時間もウェブを見回しましたが、それらはすべてひどく複雑に見えました。独自のデモプログラムに非常にユニークです。
影を作る簡単な方法はありますか?