タグ付けされた質問 「water」

3
ダイナミックウェーブで2D水を作成するにはどうすればよいですか?
新しいスーパーマリオブラザーズには本当にクールな2D水がありますので、作成方法を学びたいです。 これを示すビデオがあります。例示的な部分: 水に当たるものは波を作ります。また、一定の「背景」波もあります。カメラが動いていないビデオの00:50直後の一定の波をよく見ることができます。 このチュートリアルの最初の部分のように、スプラッシュ効果が機能すると仮定します。 ただし、NSMBでは、水も表面に一定の波を持ち、水しぶきは非常に異なって見えます。もう1つの違いは、チュートリアルでは、スプラッシュを作成すると、最初にスプラッシュの起点で水に深い「穴」が作成されることです。新しいスーパーマリオブラザーズでは、この穴は存在しないか、はるかに小さくなっています。私は、プレイヤーが水に飛び込んだり飛び出したときに生じる水しぶきについて言及しています。 一定の波と水しぶきで水面を作成するにはどうすればよいですか? XNAでプログラミングしています。私は自分でこれを試しましたが、背景の正弦波を動的な波とうまく連携させることはできませんでした。 私はNew Super Mario Brosの開発者がこれを正確にどのように行ったかを尋ねているのではなく、そのような効果を再現する方法に興味があるだけです。

4
2D粒子を流体としてレンダリングする方法は?
流体(水のような)をシミュレートするために、2Dパーティクルを移動する良い方法があるとします。レンダリング方法に関するアイデアはありますか? これは、このように視点が横から見られる2Dゲーム用です。水は、落下して他のオブジェクトと相互作用するために壊れる可能性のあるボックスに含まれます。私の頭に浮かぶ最も簡単な方法は、各粒子に小さな画像を使用することです。水をレンダリングするより多くの方法を聞くことに興味があります。
45 2d  particles  water 

5
グリッドベースの液体シミュレーションでの圧力のシミュレーション
XNAゲームには2Dグリッドベースの水システムがあり、セルオートマトンを使用して水の落下と広がりをシミュレートする方法があります。 斜面を流れる水の例: 各タイルには、0〜255の値の液体を1バイトで格納できます。私が使用していfloatsた古い水道システムは使用しませんが、複雑さを増し、パフォーマンスに打撃を与えました。 各水タイルは、単純なルールセットで自動的に更新されます。 下のタイルにスペースがある場合は、可能な限り現在のタイルから下のタイルに移動します(フローダウン) 2つの側面が同じでなく、ゼロでなく、両方とも通過可能である場合、3つのタイルの合計(左+現在+右)を取得し、3で除算して残りを中央(現在の)タイルに残します 上記のルールが合計として2の数を与えた場合、タイルを2つの側面(1、0、1)に分割する必要があります ルール2が合計として1を与えた場合、流入するランダムな側を選択します ルール2が失敗した場合、一方が合格でもう一方が合格でないかどうかを確認する必要があります。それが当てはまる場合、2つのタイルに対して現在のタイルを半分に分割します このロジックを拡張してプレッシャーを含めるにはどうすればよいですか?圧力がかかると、液体が「Uベンド」を超えて上昇し、エアポケットが満たされます。 これが現在どのように失敗するかの例: 水はUベンドの両側で流れ、均等化されるはずです。さらに、ウォーターブロックがどれくらい下にあるか、したがってどの程度の圧力が発生しているかを調べるためのメソッドを作成しました。ここで、これらの数値を取得して他の領域に適用し、圧力を均等化できるようにする必要があります。
30 xna  c#  physics  grid  water 

3
チームはソースファイルの上書きをどのように防止しますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Game Development Stack Exchangeで話題になるようにします。 4年前に閉鎖されました。 たとえば、ゲームエンジンなどが複数の人によって同時に処理されているときに、上書きをどのように防ぐことができるのか、ということが起こりました。 開発者1が作業してAudio.cppおり、開発者2も作業をしているとしましょう。Audio.cppこれは、一般的に大規模なチームで上書きに対処するためにどのように管理されていますか?(つまり、開発者2がファイルを開くのを停止して、開発者1が終了するまで)
26 project-management  version-control  teamwork  java  2d  collision-detection  vector  collision-resolution  unity  directx  directx11  directx10  xna  ios  monogame  windows-phone-8  xamarin  design-patterns  oop  xna  collision-detection  collision-resolution  bounding-boxes  rotation  collision-detection  mathematics  javascript  algorithm  separating-axis-theorem  xna  2d  monogame  image  xna  directx  graphics  performance  opengl  2d  3d  c++  directx11  unity  c#  scale  c#  xna  collision-detection  collision-resolution  leaderboards  scoring  glsl  srgb  tilemap  three.js  tiled  unity  physics  xml  dialog-tree  xna  c#  .net  opengl  lwjgl  vbo  physics  graphics  procedural-generation  simulations  water  opengl  java  textures  lwjgl  frame-buffer  unity  unity  2d  collision-detection  collision-resolution  trigonometry  java  android  libgdx  xna  c#  frame-rate  c++  unreal-4  procedural-generation  java  graphics  lwjgl  slick  c++  software-engineering 

4
抽象的な2Dトップダウン水テクスチャをアニメーション化する方法は?
この投稿を改善したいですか?引用や回答が正しい理由の説明など、この質問に対する詳細な回答を提供します。十分な詳細のない回答は、編集または削除できます。 私は現在、海のトップダウンビューでゲームを実装しています。次の、少し抽象的なテクスチャを使用します。 実際のテクスチャは透明ですが、わかりやすくするために緑色のような色を追加しました。 私が今抱えている問題は、このテクスチャをアニメーション化する方法がわからないため、水がきれいに見えることです。私はサイン波でテクスチャを動かそうとしました: texture.y += sin(angle)。もちろん、今ではテクスチャ全体が動いており、非現実的に見えます。次に試したのは、別のレイヤーを追加して視差効果を実装することです。そのため、水面下の反射も移動しますが、はるかに遅くなります。見た目は少し良くなっていますが、それでもまだ...いい感じです。 個々のセルが拡大したり収縮したりする場合、ウェブや布のように見えるのが最高のアニメーションだと思います。誰かがこれらのセルの1つの頂点をわずかに引っ張り、隣接するセルが拡大し、私が引き寄せる(またはプッシュする)セルが収縮すると想像してください。一種のウェブのようなもの(?)。しかし、私はこのようなものを実装する方法がわかりません: これの数学モデルは何ですか?バネのあるもの、どこで力が押したり引いたりしますか? もしそうなら、このモデルを指定されたテクスチャにどのようにマップしますか?すべての曲線を保持し、そうではない... (また、与えられたテクスチャをアニメーション化する方法について、さまざまなアイデア/回答を受け入れています。リアリズムはここでのポイントではなく、動きのような見た目の良い水です...) DMGregoryのソリューション この投稿にlibgdxの例を投稿しました:2D水アニメーションはギザギザで滑らかではありません(テクスチャフィルタリングに関する回答を参照)
24 2d  libgdx  animation  water 

1
油性/汚染水をレンダリングしていますか?
そこにあるシェーダーウィザードには、これに似た油性/汚染された水の効果を実現する方法のアイデアがあります。 理想的には、水は均一に油性ではなく、代わりに油が何らかのソース(化学プラントからの汚染排水など)から生成され、水域全体に拡散する可能性があります。この部分の私の考えは、「オイルマップ」を水面上の各ポイントでオイルの密度を決定する2Dテクスチャとして保持することです。拡散し、その速度で水の速度とともに自然に移動します(動的波の波動粒子シミュレーションがあり、水面の泡についても同様のことを既に行っています)。ただし、オイルが水と同じ速度で移動しない可能性があるため、物理的にどの程度正しいかはわかりません。 そして、私はそれらのすべての奇抜な色を作る方法がわかりません:-)。考え?

4
ゲームで「水中の視界」を防ぐ方法
プレイヤーが水中に行くことができる多くのゲームでは、画面の上半分が空中にあり、画面の下半分が水の中にあるように見えるとき、それはほとんど水が存在しないようで、プレーヤーは...水の音でゆっくりと飛んでいますか? これを解決する論理的な方法はありますか?アルゴリズム?多くのゲームがまだこれを持っているので、解決策がまだ登場していないようです。同じ間違いをしたくありません。

1
2D水シミュレーションのアイデア
私は、2Dで水をシミュレートするために、かなり大きい(それを呼び出す)ブロックされた/ブロックされていないアレイ(側面から見た)に対する入力を探しています。次のアイデアを思いつきました。 セルオートマトン セルオートマトンを使用して、CPUで大規模な並列シミュレーションを実行します。次のような簡単なルールで 下部に開いているセルがある場合は、そこに移動します。 左右のセルを確認し、2つからランダムに1つを選択して移動します。 長所 実装が簡単。 マルチプレイヤーシステムでの意味のある/決定論的。 短所 おそらく本当に遅いです。 納得できません。 GPUの流体力学 次のようなテクスチャに対してGPUで流体力学の大まかな近似を実行します。 +------+-----+-----+-------+ |R |G |B |A | +------+-----+-----+-------+ |vX |vY |NULL |Density| +------+-----+-----+-------+ 長所 おそらく本当に速いです。 かなり説得力があります。 さらにピクセルシェーダーを使用すると、直接レンダリングできます。 短所 実装が難しい。 微調整が難しい。 レベルのサイズのテクスチャを1つ割り当てることはできません。 グリッド領域を重ねることもできますが、これによりさらに複雑になります。 粒子 粒子を使用して水をシミュレートします。加算ブレンディングを使用したレンダリング中に、アルファチャネルに乗算関数を適用して、水の鮮明なエッジを与えます。 長所 おそらく素敵になります。 実装が簡単。 レンダリングが簡単。 マルチプレイヤーシステムでは意味がありますが、転送にはかなりの帯域幅が必要になります。 短所 粒子間効果はおそらく遅いでしょう(近傍検索)。 固体空間から水が「漏れる」可能性があります(固体空間が小さいため、たとえば1px)。 粒子のサイズによっては、水に奇妙な穴が開く可能性があります。 上記の両方は、粒子を実際のサイズよりも近くにドリフトさせることで緩和できますが、粒子間および粒子/ランドスケープのパフォーマンスに問題が発生します。 さらにアイデアはありますか? 注:これは概算であり、ここでは物理的に正しい水を探しているわけではありません-「十分」なもの(迅速で汚れた場合のボーナスポイント)だけです。ゲームはマルチプレイヤーなので、残念ながらレベル全体を継続的にシミュレートする必要があります。

2
2D雨の作成(および流体力学)
私は私のゲームで気象条件を実験していますが、Starboundが雨を処理する方法に感銘を受けました。基本的に、雨が地面に当たると、それは水平方向に分散して(そして地面に吸収されて)、または(雨滴が地面の穴の中に落ちたときに)水の山を作成します。 このビデオはこれを明確に示しています:http : //imgur.com/gallery/CKCGKbG 私は雨を降らせて、それが地面に当たる場所を確認する方法を知っていますが、それが私が行き詰まるところです。私の質問は、これはどのように作成されたのでしょうか?そして、パフォーマンスを損なうことなく、水流をどのように完璧にモデル化できるでしょうか? 前もって感謝します!

1
GLSLフラグメントシェーダーでこの種のリップルを実装する方法は?
だから私はすでに反射部分を実装しました: uniform sampler2D texture; uniform vec2 resolution; uniform vec3 overlayColor; void main() { vec2 uv = gl_FragCoord.xy / resolution.xy; if (uv.y > 0.3)// is air - no reflection or effect { gl_FragColor = texture2D(texture, vec2(uv.x, uv.y)); } else { // Compute the mirror effect. vec4 color = texture2D(texture, vec2(uv.x, 0.6 …

1
2Dトップダウンタイルの有向水流をどのようにレンダリングしますか?
私は、ドワーフフォートレスに触発された、トップダウンのタイルベースのかなりグラフィカルな2Dゲームに取り組んでいます。私はゲームの世界で、いくつかのタイルをカバーする川を実装する段階にあり、各タイルの赤い線で下に示すように、各タイルのフロー方向を計算しました。 グラフィカルスタイルの参考として、現在の私のゲームの外観は次のとおりです。 必要なのは、各河川タイルを流れる水をアニメーション化して、流れが周囲のタイルに溶け込み、タイルのエッジが見えないようにするためのいくつかの手法です。 私が見つけたものに最も近い例はhttp://www.rug.nl/society-business/centre-for-information-technology/research/hpcv/publications/watershader/に記載されていますが、私は完全ではありませんその中で何が起こっているのか理解できるようになった時点で?シェーダープログラミングについて十分理解しているので、独自の動的照明を実装しましたが、リンクされた記事で取り上げられているアプローチを理解することはできません。 誰かが上記の効果がどのように達成されるかを説明したり、私が望む結果を得るための別のアプローチを提案したりできますか?上記の解決策の一部はタイルを重ねて(どの組み合わせであるかはわかりませんが)、歪みに使用される法線マップを回転させます(これも詳細についてはわかりません)。助けて!

2
水で満たされた領域を定義するにはどうすればよいですか?
私の小さなゲームエンジンを見栄えの良い水のシミュレーションで強化したいと思います。それに取り掛かるには、ゲームで水を表現する適切な方法を見つける必要があります。残念ながら、私は多くの異なる表現を知りませんので、私はあなたに尋ねます。少し前に私が尋ねた同様の質問があります。しかし、問題を明確に定式化していないので、答えは正しいですが、私が探していたものではありません。 一部のゲームでは、水は高さレベルによって定義されます。たとえば、高さが0未満のすべては水中です。私はこの表現を(主に古い)ゲームで見ました。問題は、浸水していない屋外の洞窟で、湖や海ごとに水位が異なることです。 水の発生のもう1つの、より正確な表現は、粒子です。すべての水滴は、ワールドスペースのポイントとして保存されます。それらをレンダリングするために、メタボールなどの手法を使用して、単一のメッシュを構築することができます。それらの間のダイナミクスを簡単に計算できるので、この表現はリアリズムにとって素晴らしいでしょう。残念ながら、リアルタイムでメタボールの海を計算できるマシンはありませんでした。 エンジンで水を表す他の方法はありますか?動的な湖が欲しいので、静的なジオメトリによって水域を定義することはできません。たとえば、プレーヤーが地形を変更して湖を広げた場合、水はその湾を満たし、その湖の全体的な水位はわずかに低下するはずです。

1
XNA 4.0ゲームへの水のエフェクト(スプラッシュ)の実装[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ゲーム開発スタック交換のトピックになるようにします。 6年前休業。 私は2D XNAゲームを作成していて、XNAゲームにウォーターエフェクト(スプラッシュ)を追加するチュートリアルに出会いましたが、それをゲームに実装した後、縮小することができません。現在、画面全体を占めています。 Waterクラスは次のようになります class Water { struct WaterColumn { public float TargetHeight; public float Height; public float Speed; public void Update(float dampening, float tension) { float x = TargetHeight - Height; Speed += tension * x - Speed * dampening; Height += Speed; } } PrimitiveBatch …
8 xna  c#  2d  xna-4.0  water 

2
等尺性ゲームでの水のシミュレーション
私はFlash AS3でゲームを作成しています。このゲームでは、プレイヤーが水を正しい方向に向けるために土地を変更する必要があります。 しかし、水のシミュレーションは私にとって新しいトピックであり、ちょっと行き詰まっています。波紋などでリアルな水のようである必要はありませんが、流れる必要があり、十分な水がある場合は上昇する必要があります。 私は2種類の水を考えました。 春:無限の水源。海などのシミュレーションに使用されます。 ウォーターブロック:たった1ユニットの水。 現在の実装では、水がどのように広がるのかを示していますが、上昇せず、有限の水を許容しません。また、拡散は水の量を考慮せず、実際に水の単位を移動するのではなく、複製するだけです。 皆さんがこの問題をどのように解決するのか知りたいです。例/疑似コードは常に高く評価されています。 現在のバージョン:http : //dl.dropbox.com/u/319897/ProjectWater.swf 左マウスを押すと、土地を操作できます。Aを押すと、一度に1ステップの水をシミュレートできます。 水の部分のソース:http : //pastebin.com/Js2kYt4y
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.