Como faço para que meu efeito chuva pareça mais com chuva e menos com queda de neve?

7

Estou fazendo um jogo nesse jogo, quero um efeito de chuva. Estou um pouco longe disso agora. Estou criando o efeito chuva como abaixo:

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);

Mas parece neve! Que mudanças posso fazer para que pareça mais com chuva?

EDIT Aqui está uma captura de tela:

insira a descrição da imagem aqui

Nikhil Lamba
fonte
3
Infelizmente, não consigo analisar essas linhas de códigos em uma imagem dentro da minha cabeça;). Se você puder nos mostrar uma imagem ou vídeo, tenho certeza de que podemos dar algumas dicas.
Roy T.
é apenas uma tela em branco e mostra partículas como neve. Eu só quero mostrar partículas como efeito chuva @RoyT.
Nikhil Lamba
11
@NikhilLamba Carregue-o no imgur e vincule-o. Consulte a ajuda da formatação para saber como criar links. Você ainda não pode adicionar imagens às suas postagens, pois não desbloqueou esse privilégio - por enquanto, basta ir com um link.
doppelgreener
3
Você deve tentar tornar os sprites de chuva mais azuis e mais alongados. Use isso ( ridingwiththeriver.files.wordpress.com/2010/09/… ) como uma imagem de referência.
Roy T.
11
+1 Nikhil, uma boa melhoria em sua última pergunta.
MichaelHouse

Respostas:

13

Fundamentalmente, parece neve porque as partículas são redondas e não transmitem movimento de forma alguma. Gotas de chuva são normalmente vistas como gotículas alongadas, até o ponto em que são linhas e não partículas. Pense em uma cena em que você está olhando pela janela durante uma tempestade: você não vê gotas individuais suspensas no ar, está vendo o rastro do caminho que elas seguem.

Você pode tentar esticar as partículas ao longo de um eixo, mas acho que você não será capaz de obter um efeito de chuva com partículas como estas.

MrCranky
fonte
Aqui está um exemplo desse efeito de chuva em um jogo 2D: youtube.com/… Embora eu deva admitir que parecia melhor na minha memória. :-)
Eric
11
Aqui está um exemplo de chuva: youtube.com/watch?v=e9GOB6DSMZs
Pubby
@ MrCranky: Agradecemos muito pela sua resposta, como você disse "mas acho que você não será capaz de obter um efeito de chuva com partículas como essas", então como podemos fazer isso?
Nikhil Lamba
@Eric: Thanx para youtube link :)
Nikhil Lamba
@Pubby: thanx for Link :)
Nikhil Lamba
4

Além disso, além do que MrCranky disse, a chuva realmente não tem uma cor, mas apenas deforma o mundo ao seu redor, para obter uma chuva precisa, você realmente precisa usar shaders. Dito isto, você pode falsificá-lo usando faixas longas (como o que MrCranky disse) que estão alinhadas uma com a outra

CobaltHex
fonte
Thanx muito para sua resposta, mas como u disse que "estão todos em linha uns com os outros", como eu estou usando um Sprite como um partilce chuva Como posso usar linha de anexar um com o outro
Nikhil Lamba
Bem, quero dizer basta usar o mesmo ângulo para as estrias (ele deve ser como uma linha)
CobaltHex
3

Neve "vibra como uma pena" e chuva "cai com um flop"

A solução simples pode ser simplesmente aumentar a gravidade para que a chuva caia mais rápido e menos "neve"

Fazer neve versus chuva tem as seguintes características

  • A neve é ​​basicamente uma coisa redonda e sólida que não se deforma
  • A neve possui resistência ao ar / resistência ao arraste, caindo lenta e graciosamente com uma velocidade máxima relativamente baixa
  • A neve é ​​facilmente afetada pela turbulência do ar (por exemplo, um afetador de vento) e ziguezagues à medida que desce ... e o evento sobe para uma sensação realista de uma brisa passageira

A chuva é praticamente o oposto da neve acima

  • A chuva se deforma quando cai
    • A mudança visual mais fácil é esticar o sprite da gota de chuva com base na velocidade da gota de chuva
    • isso dá a impressão de movimento e velocidade
  • A chuva é menos afetada pela resistência do vento ou do ar
    • um afetador de vento forte pode empurrar o caminho da descida, mas apenas levemente (e realmente vale a pena dar conta disso, se mais objetivo é realismo)

Assim ...

  • Como os outros sugerem, use uma folha de sprite para animar as gotas à medida que elas caem
    • folha de evento sprite de dois sub-sprites é útil ... exemplo: "drop" e "splash"
  • Estique a textura para dar movimento
    • dimensionado em relação a uma faixa de velocidade mín. / máx. (por exemplo, normalize 0..1 e dimensione "drop" de acordo quando pintar a textura)
  • gravidade mais forte
    • potencialmente "substancialmente" mais do que a gravidade normal do seu ambiente para fazer com que a chuva tenha uma boa "aparência e sensação"
DevByStarlight
fonte
1

Você só poderá ir tão longe mudando os gráficos. Eu pessoalmente começaria com longos retângulos azuis e o estilizaria a partir daí. Veja como o Minecraft faz pingos de chuva.

O que realmente fará parecer que a chuva é o som que você usa. Encontre uma faixa ambiente de chuva gratuita em algum lugar da Internet e faça um loop. Enquanto houver partículas suficientes e elas estiverem se movendo rápido o suficiente para baixo, sua mente fará a conexão com a chuva.

Robert Rouhani
fonte