雨の効果を降雪ではなく雨のようにするにはどうすればよいですか?


7

私はそのゲームでゲームを作っています。雨のエフェクトが欲しいです。私は今これから少し離れています。以下のような雨の効果を作成しています:

particleSystem.addParticleInitializer(new ColorInitializer(1, 1, 1));
particleSystem.addParticleInitializer(new AlphaInitializer(0));
particleSystem.setBlendFunction(GL10.GL_SRC_ALPHA, GL10.GL_ONE);
particleSystem.addParticleInitializer(new VelocityInitializer(2, 2, 20, 10));
particleSystem.addParticleInitializer(new RotationInitializer(0.0f, 30.0f));

particleSystem.addParticleModifier(new ScaleModifier(1.0f, 2.0f, 0, 150));
particleSystem.addParticleModifier(new ColorModifier(1, 1, 1, 1f, 1, 1, 1, 3));
particleSystem.addParticleModifier(new ColorModifier(1, 1, 1f, 1, 1, 1, 1, 6));
particleSystem.addParticleModifier(new AlphaModifier(0, 1, 0, 3));
particleSystem.addParticleModifier(new AlphaModifier(1, 0, 1, 125));
particleSystem.addParticleModifier(new ExpireModifier(50, 50));

scene.attachChild(particleSystem);

でも降雪みたい!雨のように見えるようにするには、どうすればよいですか?

編集ここにスクリーンショットがあります:

ここに画像の説明を入力してください


3
残念ながら、これらのコード行を解析して頭の中で画像にすることはできません;)。画像や動画を見せていただければ、いくつかのヒントをご紹介します。
Roy T.

その唯一の空白の画面と雪のようなその粒子の表示は、雨のような粒子の表示@RoyTが欲しいだけです。
Nikhil Lamba

1
@NikhilLamba imgurにアップロードしてリンクします。リンクの作成方法については、フォーマットのヘルプを参照してください。その権限のロックを解除していないので、まだ画像を投稿に追加することはできません-とりあえず、リンクをクリックしてください。
doppelgreener

3
レインスプライトをより青く、より長く伸ばしてみてください。参照画像として、これ(ridingwiththeriver.files.wordpress.com/2010/09/…)を使用してください。
ロイT.

1
+1 Nikhil、あなたの最後の質問の素晴らしい改善。
MichaelHouse

回答:


13

パーティクルは丸く、動きを伝えないため、基本的には雪のように見えます。雨滴は通常、粒子ではなく線になる点まで、細長い液滴として見られます。暴風雨で窓の外を眺めているシーンを考えてみてください。空中に垂れ下がった個々の水滴が見えず、それらがたどる道の筋が見えています。

パーティクルを1つの軸に沿って引き伸ばすこともできますが、このようなパーティクルでは雨のような効果を得ることができないと思います。


2Dゲームでのこのような雨の効果の例を次に示します。youtube.com/ …記憶の中でよりよく見えたと認めざるを得ませんが。:-)
Eric

1
これが雨の例です:youtube.com/watch
v

@MrCranky:「このような粒子では雨のような効果を得ることができないだろう」と言ったように、urの回答にはたくさん感謝します。
Nikhil Lamba

@Eric:Thanx for youtube Link :)
Nikhil Lamba

@Pubby:Linkに感謝:)
Nikhil Lamba

4

また、MrCrankyの発言は別として、雨は実際には色を持たず、周囲の世界を変形させるだけなので、正確な雨を得るには、シェーダーを使用する必要があります。つまり、すべてが一致している(MrCrankyが言ったような)長い縞を使用してそれを偽造することができます


たくさんの回答ありがとうございます。しかし、スプライトを雨の一部として使用しているので、「それはすべて互いに一致しています」と言ったように、ライン接続をどのように使用できますか
Nikhil Lamba

まあ、縞に同じ角度を使用することを意味します(線のようになるはずです)
CobaltHex

3

雪「羽のように舞う」と雨「綿のように落ちる」

単純な解決策は、単に重力を増加させて、雨滴がより速く「雪のように」落ちるようにすることです。

雪対雨を作ることは次の特徴があります

  • 雪は基本的に変形しない固体の丸いものです
  • 雪は空気抵抗/抗力を持っているため、比較的低い最大速度でゆっくりと優雅に降ります
  • 雪は空気の乱流(例:風の影響)やジグザグの影響で簡単に影響を受けます。雪が降ると、イベントが上昇し、通過するそよ風のリアルな感触が得られます。

雨は上記の雪のほぼ反対です

  • 雨が降ると変形する
    • 最も簡単な視覚的変化は、雨滴の速度に基づいて雨滴スプライトを伸ばすことです
    • これは動きと速度の印象を与えます
  • 雨は風や空気抵抗の影響を受けにくい
    • 強い風の影響者は降下の経路を微調整できますが、穏やかにしか行えません(そして、よりリアリズムが目標である場合、これを説明する価値があります)

そう ...

  • 他の人が示唆するように、落下時にドロップをアニメートするためにスプライトシートを使用します
    • イベント2つのサブスプライトのスプライトシートは便利です...例: "drop"と "splash"
  • テクスチャをストレッチして動きを与える
    • 最小/最大速度範囲を基準にしてスケーリングされます(たとえば、0..1を正規化し、それに応じてテクスチャをペイントするときに「ドロップ」をスケーリングします)
  • 強い重力
    • 環境の通常の重力よりも「実質的に」大きくなり、雨の「見た目と使い心地」が良くなる

1

グラフィックを変更するだけで、これまでのところ達成できます。個人的には長い青い長方形から始めて、そこからスタイルを設定します。Minecraftが雨滴をどのように処理するかを見てください。

本当に雨のように感じるのはあなたが使う音です。インターネット上のどこかに無料の雨のアンビエントトラックを見つけてループします。十分な粒子があり、それらが十分に速く下向きに動いている限り、あなたの心は雨につながります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.