Uma cachoeira é um ponto em um rio ou córrego onde a água flui sobre uma ou mais gotas verticais em um corpo de água. Experiências geralmente incluem cachoeiras para estética visual, como melhorar o ambiente ou criar um ponto de interesse visual, ou para fins funcionais de jogabilidade, como esconder recursos ou jogadores de transição entre diferentes áreas no próprio lugar.
Usando o arquivo Waterfall Island.rbxl como referência, este tutorial mostra como criar uma cachoeira com objetos VFX que representam o comportamento físico do mundo real, incluindo instruções sobre:
- Divida o material referencial em componentes individuais com características visuais e comportamentais distintas.
- Configurando cascatas que caem em taxas diferentes para emular a dispersão de água conforme ela desce de um penhasco.
- Configurando respingos para emular a água se tornando aerosolizada à medida que as cascatas impactam a piscina de mergulho subjacente.
- Configurando água branca para emular água turbulenta ventilada onde o fluxo de saída se chocar com pedras.
- Configurando espuma para emular uma tensão de superfície de quebra de onda capilar.
- Configurando névoa para emular vapores de névoa subindo e subindo do ponto de impacto, criando um arco-íris que os jogadores podem ver de qualquer ângulo.
Destruir Referência
Para criar cachoeiras credíveis, é importante fazer referência a características naturais do mundo real no processo de design, pois permite que você divida o assunto em componentes individuais com características visuais e comportamentais distintas. Por exemplo, a experiência da amostra Waterfall Island faz referência a Snoqualmie Falls no estado de Washington para informar todas as decisões de design de textura e VFX relacionadas à cachoeira e ao seu terreno envolvente.
![A far out view of Snoqualmie Falls.](https://prod.docsiteassets.roblox.com/assets/tutorials/creating-waterfalls/Falls-NoComponents.png)
Embora uma cachoeira seja um fluxo contínuo e conectado de água que envolve vários estados de matéria com movimento dinâmico de fluidos e ar, é útil decompor este sistema complexo em componentes individuais para que você possa planejar como usar diferentes objetos VFX para imitar seus homólogos do mundo real. Para demonstrar, este tutorial divide a cachoeira de amostra em cinco componentes únicos:
- Cascadas A água que desce do penhasco.
- Splashes A água que se espalha em cascata colide com a piscina de mergulho subjacente.
- Água Branca A água turbulenta que surge quando a fonte de água se aproxima da borda do penhasco.
- Espuma A água ventilada que se espalha horizontalmente após a colisão das cascatas e da piscina de mergulho.
- Névoa A água semelhante a uma nuvem que se evapora no ar como resultado da cachoeira geral.
![Snoqualmie Falls with all five components highlighted.](https://prod.docsiteassets.roblox.com/assets/tutorials/creating-waterfalls/Falls-Components.png)
![The sample waterfall with the same five components highlighted to compare the reference image with the final result.](https://prod.docsiteassets.roblox.com/assets/tutorials/creating-waterfalls/Sample-Components.png)
As seções a seguir fornecem uma análise aprofundada das diferentes decisões e técnicas de design que você pode usar para recriar cada um desses componentes de cachoeira que compõem a gota principal no espaço 3D da amostra. À medida que você revisa essas decisões e experimenta com várias Beam e ParticleEmitter propriedades, você aprenderá a usar o VFX para resolver os requisitos ambientais exclusivos para suas próprias experiências.
Configurar Cascadas
Uma cascata **** é a água que desce sobre a borda de penhascos ou falésias em piscinas de mergulho subjacentes. As cascatas caem em taxas diferentes, dependendo tanto de seu volume de água quanto da escala de sua queda na piscina de mergulho. Por exemplo, a gota principal da amostra parece cair mais lentamente porque há um grande volume de água caindo em uma grande distância, mas a segunda gota da amostra parece cair mais rapidamente porque um volume menor de água está caindo em uma pequena distância.
Além disso, as cachoeiras muitas vezes têm camadas de cascatas que caem em taxas diferentes porque a água se dispersa à medida que desce para a piscina de mergulho. Para demonstrar este princípio, a amostra usa vários Beam objetos com texturas sem costura que renderizam entre Attachment objetos em diferentes velocidades e comprimentos. Além de fornecer à queda principal um comportamento de queda mais realista, esta técnica também cria uma ilusão de paralaxe para fazer a cascata parecer ter uma sensação de profundidade e volume, embora seja apenas uma imagem 2D.
Para recriar as cascatas para a queda principal na amostra Waterfall Island place file:
Crie a saída para a água em cascata.
Na janela Explorer , crie uma Pasta no Workspace para conter todos os objetos de saída e renomeie a pasta Outflow .
Insira duas partes do bloco na pasta Outflow e renomeie-as OutflowStart e OutflowStop , respectivamente.
Mova OutflowStart para onde você deseja que o fluxo comece e mova OutflowStop para a borda do penhasco.
Insira um anexo em OutflowStart e OutflowStop e, em seguida, gire os anexos até que a ajuda visual amarela aponte para cima.
Insira um feixe **** na pasta Outflow e renomeie-o OutflowWater .
Atribuir o anexo de cada parte a OutflowWater .
- Na janela Explorer , selecione OutflowWater .
- Na janela Properties ,
- Defina Attachment0 para o anexo em OutflowStart .
- Defina Attachment1 para o anexo em OutflowStop . O feixe renderiza sua textura padrão entre os dois anexos.
Personalize a aparência visual do feixe para que pareça que a água está fluindo perto da borda do penhasco.
- Na janela Explorer , verifique se OutflowWater ainda está selecionado.
- Na janela Properties ,
Defina Textura para rbxassetid://4787437624 para renderizar uma nova textura que parece espuma fluente.
Defina Largura0 para 60 para expandir a textura do eixo que começa a renderizar.
Defina Largura1 para 20 para canalizar a textura até a borda do penhasco.
Defina TextureSpeed para 0.4 para retardar o fluxo da textura.
Defina TextureLength para 64 para esticar o comprimento da textura.
Defina TextureMode para Wrap para repetir a textura para a quantidade do comprimento geral do feixe no mundo 3D entre os anexos divididos por seu TextureLength . Isso permite que a textura pareça muito mais realista para a água fluir.
Defina Cor para uma sequência de cores que alterna em cor de azul escuro e claro para branco.
Clique na propriedade Cor e clique no botão . Um pop-up de sequência de cores é exibido.
Cada triângulo no eixo inferior da sequência de cores é um ponto-chave que determina o valor da cor da propriedade naquele ponto da vida da particula.
Defina as seguintes propriedades de tempo e valor ao longo da sequência de cores:
- Tempo = 0 , Valor RGB = 208, 247, 255
- Tempo = 0.135 , Valor RGB = 146, 235, 255
- Tempo = 0.248 , Valor RGB = 255, 255, 255
- Tempo = 0.384 , Valor RGB = 128, 183, 202
- Tempo = 0.757 , Valor RGB = 166, 213, 248
- Tempo = 1 , Valor RGB = 255, 255, 255
Defina Transparência para uma sequência de números que torna a água mais vibrante à medida que se aproxima da borda do penhasco.
Clique na propriedade Transparência e clique no botão . Um pop-up de sequência de números é exibido. Por padrão, o gráfico é uma linha reta e a imagem permanece a mesma transparência da esquerda para a direita.
Cada quadrado no início e no final da sequência de números é um ponto-chave que determina o valor de transparência da propriedade naquele ponto da textura da esquerda para a direita.
Defina as seguintes propriedades de tempo e valor ao longo da sequência de números:
- Tempo = 0 , Valor = 1
- Tempo = 0.375 , Valor = 0.725
- Tempo = 0.615 , Valor = 0
- Tempo = 0.92 , Valor = 1
- Tempo = 1 , Valor = 1
Aumente a escala de cada parte para garantir que a textura cobre a largura da piscina de saída. O fluxo de saída agora parece estar fluindo em direção à borda do penhasco de todos os ângulos.
Crie a água em cascata que corre rapidamente a partir da gota principal.
Na janela Explorer , crie uma pasta **** no Workspace para conter todos os objetos de água em cascata e renomeie a pasta Cascades .
Insira duas partes do bloco na pasta Cascades e renomeie-as MainDropStart e MainDropStop , respectivamente.
Mova MainDropStart para a borda do penhasco e mova MainDropStop para onde está embaixo da piscina de mergulho.
Configure anexos para todos os feixes de água em cascata da gota principal para usar para renderizar suas texturas.
- Insira um anexo em MainDropStart , e depois gire o anexo até que a ajuda visual amarela aponte para longe do penhasco.
- Insira um anexo no MainDropStop , e depois gire o anexo até que a ajuda visual amarela aponte em direção ao penhasco.
Insira um feixe **** na pasta Cascades e renomeie-o FastDrop .
Atribuir o anexo de cada parte a FastDrop .
- Na janela Explorer , selecione FastDrop .
- Na janela Properties ,
- Defina Attachment0 para o anexo em MainDropStart .
- Defina Attachment1 para o anexo em MainDropStop . O feixe renderiza sua textura padrão entre os dois anexos.
Personalize a aparência visual do feixe para que pareça água em cascata correndo rápido da gota principal.
Na janela Explorer , verifique se FastDrop ainda está selecionado.
Na janela Properties ,
Defina Textura para rbxassetid://16808804567 para renderizar uma nova textura que parece água fluindo.
Defina Largura0 para 5 para expandir a textura do eixo que começa a renderizar.
Defina Largura1 para 10 para expandir a textura enquanto encontra a piscina de mergulho.
Defina CurveSize0 para 10 para curvar a textura longe do penhasco.
Defina CurveSize1 para 20 para curvar a textura na piscina de mergulho.
Defina TextureSpeed para 1.3 para fazer com que a textura flua rapidamente.
Defina TextureLength para 2 para esticar um pouco o comprimento da textura.
Defina Cor para uma sequência de cores que alterna em cor de azul escuro e claro para branco.
- Tempo = 0 , Valor RGB = 208, 247, 255
- Tempo = 0.135 , Valor RGB = 210, 246, 255
- Tempo = 0.25 , Valor RGB = 255, 255, 255
- Tempo = 0.384 , Valor RGB = 163, 187, 202
- Tempo = 0.757 , Valor RGB = 214, 229, 248
- Tempo = 1 , Valor RGB = 255, 255, 255
Defina Transparência para uma sequência de números que permita que a água em cascata seja mais vibrante entre os pontos de fixação.
- Tempo = 0 , Valor = 1
- Tempo = 0.115 , Valor = 0
- Tempo = 0.835 , Valor = 0
- Tempo = 0.881 , Valor = .994
- Tempo = 1 , Valor = 1
- Defina ZOffset para 2 para compensar a textura para estar um pouco longe do penhasco.
- Ative FaceCamera para garantir que a água em cascata seja visível, independentemente do ângulo do jogador da água.
Crie a água em cascata lenta da gota principal.
Duplique FastDrop e renomeie o feixe duplicado SlowDrop .
Personalize a aparência visual do feixe para que ele pareça correr rápido em cascata de água da gota principal.
- Na janela Explorer , selecione SlowDrop .
- Na janela Properties ,
- Defina Largura1 para 20 para ampliar ainda mais a textura à medida que encontra a piscina de mergulho.
- Defina TextureLength para 1.5 para diminuir um pouco o comprimento da textura.
- Defina TextureSpeed para 1 para fazer com que a textura flua menos rápido.
- Defina ZOffset para 0 para permitir que a textura flua diretamente da borda do penhasco.
Na janela Explorer , selecione todas as partes do bloco na pasta Outflow , então na janela Properties , defina Transparência para 1 para tornar os blocos invisíveis.
Configurar respingos
Quando as cascatas impactam a densidade da piscina de mergulho subjacente, a água se propaga para cima a partir do ponto de impacto para criar respingos . À medida que esta água aerossolizada se propaga para cima, ela se expande e se rompe para produzir gotas que se espalham em várias direções.
Para demonstrar esse processo, a amostra usa dois ParticleEmitter objetos na base da gota principal. O primeiro emissor de partículas emite partículas que parecem respingos densos que representam o peso da água que começa a se mover para cima à medida que as cascatas impactam a piscina de mergulho. O segundo emissor de partículas emite partículas que se parecem com gotas que representam a água sendo aerosolizada.
Quando você configura esses emissores de partículas para emitir ambas essas partículas ao mesmo tempo, mas em taxas diferentes, o efeito visual resultante emula o comportamento físico do mundo real das rajadas. Esses tipos de detalhes contribuem para o realismo do seu VFX e imergem os jogadores no espaço 3D.
![The 2D texture that represents heavily aerosolized water before it breaks apart.](https://prod.docsiteassets.roblox.com/assets/tutorials/creating-waterfalls/Splashes-Dense.png)
![The 2D texture that represents heavily aerosolized water as it breaks apart.](https://prod.docsiteassets.roblox.com/assets/tutorials/creating-waterfalls/Splashes-Droplets.png)
Para recriar as salpicos na base da gota principal na amostra Waterfall Island place file:
Na janela Explorer , crie uma Pasta no Workspace para conter todos os objetos splash, e renomeie a pasta Splashes .
Insira um bloco **** parte em Splashes , e renomeie-o MainDropSplashes .
Posição e escala MainDropSplashes para a área de superfície completa onde a cascata afeta a piscina de mergulho.
Crie o respingo denso onde a água em cascata da gota principal afeta a piscina de mergulho.
Insira um ParticleEmitter em MainDropSplashes e renomeie o emissor SplashDense .
Selecione SplashDense , então na janela Properties ,
Defina Textura para rbxassetid://16829556885 para renderizar partículas que se parecem com respingos densos.
Defina Cor para uma sequência de cores que começa em azul e depois se torna branca.
- Tempo = 0 , Valor RGB = 189, 246, 255
- Tempo = 1 , Valor RGB = 255, 255, 255
Defina Tamanho para uma sequência de números que aumenta constantemente de tamanho com uma janela de variação.
- Tempo = 0 , Valor = 1.81 , Envelope = 0.562
- Tempo = 1 , Valor = 5.75 , Envelope = 1.31
Defina Transparência para uma sequência de números em que as partículas começam como transparentes, se tornam opacas e depois se tornam transparentes novamente ao longo de sua vida com uma grande janela de variação.
- Tempo = 0 , Valor = 1 , Envelope = 0
- Tempo = 0.5 , Valor = 0.181 , Envelope = 0.181
- Tempo = 1 , Valor = 1 , Envelope = 0
- Defina Lifetime para 0.25, 0.35 para definir aleatoriamente a vida de cada particula entre 250 e 350 milissegundos.
- Defina Velocidade para 30 para emitir 30 partículas por segundo.
- Defina Rotação para -45, 45 para orientar aleatoriamente cada particula entre -45 e 45 graus por segundo.
- Defina RotSpeed para -40, 40 para emitir aleatoriamente cada particula entre -45 e 40 graus por segundo.
- Defina Velocidade para 20, 35 para emitir aleatoriamente cada particula entre 20 e 35 studs por segundo.
- Defina SpreadAngle para 50, 50 para emitir partículas em um ângulo ao longo dos eixos X e Z.
- Defina Aceleração para 0, -40, 0 para simular a gravidade e puxar as partículas para baixo.
- Defina LightEmission para 0.5 para iluminar as partículas.
- Defina LightInfluence para 0.1 para reduzir significativamente a quantidade de luz ambiental que afeta a cor das partículas.
Crie as gotas onde a água em cascata da gota principal afeta a piscina de mergulho.
Duplique SplashDense e renomeie-o SplashDroplets .
Selecione SplashDroplets , então na janela Properties ,
Defina Textura para rbxassetid://17082061238 para renderizar partículas que se parecem com gotas.
Defina Tamanho para uma sequência de números que aumenta rapidamente de tamanho com uma janela de variação.
- Tempo = 0 , Valor = 1.81 , Envelope = 0.562
- Tempo = 1 , Valor = 8.69 , Envelope = 1.31
Defina Transparência para uma sequência de números em que as partículas começam como transparentes, rapidamente se tornam opacas e, em seguida, lentamente começam a se tornar transparentes novamente perto do meio de sua vida.
- Tempo = 0 , Valor = 1 , Envelope = 0
- Tempo = 0.104 , Valor = 0.0625 , Envelope = 0.0625
- Tempo = 0.429 , Valor = 0.0562 , Envelope = 0.0562
- Tempo = 1 , Valor = 1 , Envelope = 0
- Defina Lifetime para 0.15, 0.6 para definir aleatoriamente a vida de cada particula entre 150 e 600 milissegundos.
- Defina Velocidade para 20 para emitir 20 partículas por segundo.
Na janela Explorer , selecione todas as partes do bloco na pasta Splashes , então na janela Properties , defina Transparência para 1 para tornar os blocos invisíveis.
Configurar Água Branca
Água branca surge à medida que a fonte de água se torna mais turbulenta à medida que ganha velocidade ao se aproximar de sua descida e colidir com objetos em seu caminho. Isso resulta em água arejada que aparece branca devido a mais bolhas de ar na originalde água.
Para imitar esse processo, a amostra usa dois ParticleEmitter objetos que emitem partículas que se parecem com respingos fortemente ventilados, onde o fluxo de saída cai nos rochedos na borda do penhasco. O emissor não usa iluminação embutida, e em vez disso prioriza tons brancos e cinzentos com várias taxas de queda para demonstrar a quantidade de ar na água.
![The 2D texture that represents heavily aerosolized water as it crashes into boulders.](https://prod.docsiteassets.roblox.com/assets/tutorials/creating-waterfalls/Splashes-WhiteWater.png)
Para recriar a água branca onde o fluxo de saída colide com os rochedos do penhasco na amostra Waterfall Island place file:
Na janela Explorer , crie uma pasta **** no Workspace para conter todos os objetos de água branca e renomeie a pasta WhiteWater .
Insira um bloco **** parte em WhiteWater , e renomeie-o MainDropWW .
Posição e escala MainDropWW para a área de superfície completa onde o fluxo de saída começa a fluir sobre o penhasco.
Crie a água branca menos turbulenta onde o fluxo principal colide com as pedras ao redor.
Insira um ParticleEmitter em MainDropWW e renomeie o emissor GentleWW .
Selecione GentleWW , então na janela Propriedades ,
Defina Textura para rbxassetid://16808075391 para renderizar partículas que se parecem com respingos de webby.
Defina Cor para uma sequência de cores que começa em azul e depois se torna branca.
- Tempo = 0 , Valor RGB = 189, 246, 255
- Tempo = 1 , Valor RGB = 255, 255, 255
Defina Tamanho para uma sequência de números que aumenta constantemente de tamanho com uma janela de variação.
- Tempo = 0 , Valor = 1.13 , Envelope = 0.562
- Tempo = 1 , Valor = 5.56 , Envelope = 0.563
Defina Transparência para uma sequência de números em que as partículas começam como transparentes, se tornam quase opacas, e depois têm pequenos picos para se tornarem transparentes novamente ao longo de sua vida.
- Tempo = 0 , Valor = 1 , Envelope = 0
- Tempo = 0.143 , Valor = 0.462 , Envelope = 0.0625
- Tempo = 0.336 , Valor = 0.462 , Envelope = 0.0562
- Tempo = 0.622 , Valor = 0.788 , Envelope = 0.0538
- Tempo = 1 , Valor = 1 , Envelope = 0
- Defina ZOffset para 2 para compensar a textura para estar um pouco longe do penhasco.
- Defina Lifetime para 1.25, 1.5 para definir aleatoriamente a vida de cada particula entre 1250 e 1500 milissegundos.
- Defina Velocidade para 12 para emitir 12 partículas por segundo.
- Defina Rotação para -45, 45 para orientar aleatoriamente cada particula entre -45 e 45 graus por segundo.
- Defina RotSpeed para -40, 40 para emitir aleatoriamente cada particula entre -45 e 40 graus por segundo.
- Defina Velocidade para 15, 18 para emitir aleatoriamente cada particula entre 20 e 35 studs por segundo.
- Defina SpreadAngle para 5, 5 para emitir partículas em um pequeno ângulo ao longo dos eixos X e Z.
- Defina Aceleração para 0, -35, 0 para simular a gravidade e puxar as partículas para baixo.
- Defina Arraste para 0.25 para que as partículas percam sua velocidade com a decadência exponencial.
- Defina LightEmission para 0.6 para iluminar as partículas.
- Defina LightInfluence para 0.1 para reduzir significativamente a quantidade de luz ambiental que afeta a cor das partículas.
Crie a água branca mais turbulenta onde o fluxo principal colide com as pedras ao redor.
Duplique GentleWW e renomeie-o TurbulentWW .
Selecione TurbulentWW , então na janela Properties ,
Defina Tamanho para uma sequência de números que aumenta sutilmente de tamanho com uma janela de variação.
- Tempo = 0 , Valor = 1.6 , Envelope = 0.562
- Tempo = 1 , Valor = 2.63 , Envelope = 0.563
Defina Transparência para uma sequência de números em que as partículas começam como transparentes, se tornam opacas e, em seguida, se tornam transparentes novamente perto do meio de sua vida.
- Tempo = 0 , Valor = 1 , Envelope = 0
- Tempo = 0.156 , Valor = 0.0437 , Envelope = 0.0437
- Tempo = 0.55 , Valor = 0.075 , Envelope = 0.0252
- Tempo = 1 , Valor = 1 , Envelope = 0
- Defina Lifetime para 0.25, 0.5 para definir aleatoriamente a vida de cada particula entre 250 e 500 milissegundos.
- Defina Velocidade para 20 para emitir 20 partículas por segundo.
- Defina Velocidade para 5, 6 para emitir aleatoriamente cada particula entre 5 e 6 studs por segundo.
- Defina Aceleração para 0, -15, 0 para simular a gravidade e puxar as partículas para baixo.
Na janela Explorer , selecione todas as partes do bloco na pasta WhiteWater , então na janela Properties , defina Transparência para 1 para tornar os blocos invisíveis.
Configurar Espuma
Ao contrário dos respingos que se movem para cima quando as cascatas impactam a piscina de mergulho, espuma é água ventilada que ondula para fora da base do ponto de impacto. Semelhante a respingos, a espuma se expande e se rompe em gotas semelhantes a teias à medida que se torna aerossolizada.
Para imitar esse efeito, a amostra usa um objeto ParticleEmitter para emitir partículas que se parecem com ondulações de espuma, e as emite lentamente paralelas à piscina de mergulho. Isso permite que a particula emule o efeito visual e comportamental de uma onda capilar quebrando a tensão superficial da piscina de água subjacente.
![The 2D texture that represents the aerosolized water that ripples away from where the cascades impacts the plunge pool.](https://prod.docsiteassets.roblox.com/assets/tutorials/creating-waterfalls/Foam-Texture.png)
Para recriar a espuma na base da gota principal na amostra Waterfall Island place file:
Na janela Explorer , crie uma Pasta no Workspace para conter todos os objetos de espuma e renomeie a pasta Foam .
Insira um bloco **** parte em Foam , e renomeie-o MainDropFoam .
Posição e escala MainDropFoam para a área de superfície completa onde a parte mais densa da cascata principal afeta a piscina de mergulho.
Insira um ParticleEmitter em MainDropFoam e renomeie o emissor FoamRipples .
Na janela Explorer , selecione FoamRipples , então na janela Properties ,
Defina Textura para rbxassetid://16811365086 para renderizar partículas que se parecem com ondas de espuma.
Defina Orientação para VelocidadePerpendicular para emitir partículas perpendiculares à direção de seu movimento.
Defina Transparência para uma sequência de números em que as partículas começam como transparentes, rapidamente se tornam opacas e, em seguida, rapidamente se tornam transparentes no final de sua vida útil.
- Tempo = 0 , Valor = 1 , Envelope = 0
- Tempo = 0.143 , Valor = 0.119 , Envelope = 0.1
- Tempo = 0.664 , Valor = 0.125 , Envelope = 0.112
- Tempo = 1 , Valor = 1 , Envelope = 0
Defina Lifetime para 0.5, 0.7 para definir aleatoriamente a vida de cada particula entre 500 e 700 milissegundos.
Defina Velocidade para 5 para emitir 5 partículas por segundo.
Defina Rotação para 0, 360 para orientar aleatoriamente cada particula em um círculo a partir do ponto de emissão.
Defina RotSpeed para -15, 15 para emitir aleatoriamente cada particula entre -15 e 15 graus por segundo.
Defina Velocidade para 0, .01 para emitir aleatoriamente cada particula entre 0 e .01 studs por segundo.
Defina LightEmission para 0.25 para iluminar sutilmente as partículas.
Defina LightInfluence para 0 para evitar que a luz ambiental afete a cor das partículas.
Na Barra de Comando **** , insira a seguinte string para aumentar o tamanho de cada particula de 5 para 20 studs ao longo de sua vida com uma pequena janela de variação:
workspace.Foam.MainDropFoam.FoamRipples.Size = NumberSequence.new{NumberSequenceKeypoint.new(0,5,0), NumberSequenceKeypoint.new(1,20,5)}Na janela Explorer , selecione todas as partes do bloco na pasta Foam , então na janela Properties , defina Transparência para 1 para tornar os blocos invisíveis.
Configurar Névoa
À medida que as cascatas impactam a piscina de mergulho, parte da água evapora e se condensa no ar fresco e úmido para criar névoa . Os vapores de nevoeiro não capturam a luz da mesma maneira que as superfícies duras; em vez disso, eles refletem a luz de maneiras muitas vezes inesperadas para aparecerem brilhantes no ambiente geral até evaporarem completamente.
A amostra emula este processo usando dois ParticleEmitter objetos na base da gota. O primeiro emissor de partículas emite energicamente partículas longe do ponto de impacto e penhasco, e o segundo emite partículas que subem lentamente para o céu. As partículas de ambos os emissores de partículas são brilhantes no início de sua vida, e lentamente se tornam transparentes até o final de sua vida enquanto evaporam.
Semelhante ao mundo real, o processo de evaporação de névoa permite que um arco-íris se forme à medida que a luz se reflete das pequenas gotas de água, que a amostra também emula com um objeto ParticleEmitter que emite partículas arco-íris com uma vida útil breve. Essas partículas estão voltadas para a câmera, independentemente do ângulo do jogador da cachoeira para produzir uma ilusão óptica de luz pegando no próprio vapor.
![The 2D texture that represents the mist.](https://prod.docsiteassets.roblox.com/assets/tutorials/creating-waterfalls/Mist-Texture.png)
![The 2D texture that represents the rainbow.](https://prod.docsiteassets.roblox.com/assets/tutorials/creating-waterfalls/Rainbow-Texture.png)
Para recriar a névoa que se move para fora e para cima da base da gota principal na amostra Waterfall Island place file:
Na janela Explorer , crie uma Pasta no Workspace para conter todos os objetos relacionados à névoa, e renomeie a pasta Mist .
Crie a névoa que irradia longe do impacto da cachoeira na piscina de mergulho.
Insira um bloco **** na Mist e renomeie-o BaseMist .
Posicione, oriente e dimensione BaseMist para enfrentar a parte mais densa do local onde a cascata principal afeta a piscina de mergulho.
Insira um ParticleEmitter em BaseMist e renomeie o emissor Mist .
Selecione Mist , então na janela Properties ,
Defina Textura para rbxassetid://16830667309 para renderizar partículas que se parecem com névoa espessa.
Defina Cor para uma sequência de cores que começa em azul e depois se torna branca.
- Tempo = 0 , Valor RGB = 171, 244, 255
- Tempo = 0.339 , Valor RGB = 251, 254, 255
- Tempo = 1 , Valor RGB = 255, 255, 255
Defina Tamanho para uma sequência de números que aumenta constantemente de tamanho.
- Tempo = 0 , Valor = 8 , Envelope = 0
- Tempo = 1 , Valor = 10 , Envelope = 0
Defina Transparência para uma sequência de números em que as partículas começam como transparentes, rapidamente se tornam ligeiramente opacas e, em seguida, rapidamente se tornam transparentes novamente ao longo de sua vida.
- Tempo = 0 , Valor = 1 , Envelope = 0
- Tempo = 0.0971 , Valor = 0.8 , Envelope = 0.0625
- Tempo = 1 , Valor = 1 , Envelope = 0
- Defina ZOffset para 2 para compensar a textura para estar um pouco longe da piscina de mergulho.
- Defina Lifetime para 0.5, 1 para definir aleatoriamente a vida de cada particula entre 500 e 100 milissegundos.
- Defina Velocidade para 20 para emitir 20 partículas por segundo.
- Defina Rotação para -360, 360 para orientar aleatoriamente cada peça em um círculo.
- Defina RotSpeed para -50, 50 para emitir aleatoriamente cada particula entre -50 e 50 graus por segundo.
- Defina Velocidade para 35, 50 para emitir aleatoriamente cada particula entre 35 e 50 studs por segundo.
- Defina SpreadAngle para 25, 25 para emitir partículas em um pequeno ângulo ao longo dos eixos X e Z.
- Defina Aceleração para -10, -25, -10 para simular o impacto do respingo explodindo para fora da piscina de mergulho.
- Defina Arraste para 1.5 para que as partículas percam sua velocidade com a decadência exponencial.
Crie a névoa que sobe para cima da piscina de mergulho.
- Duplique BaseMist e renomeie-o RiseMist .
- Orient RiseMist para que a parte superior da parte que emite partículas fique voltada para o céu.
- Selecione o emissor de partículas filho, então na janela Propriedades ,
- Defina Vida para 4 para definir a vida de cada particula em 4 segundos.
- Defina Velocidade para 3 para emitir 3 partículas por segundo.
- Defina RotSpeed para -10, 10 para emitir aleatoriamente cada particula entre -10 e 10 graus por segundo.
- Defina Velocidade para 25 para emitir cada particula 25 studs por segundo.
- Defina Aceleração para 0, 0, 0 para remover a simulação anterior.
- Defina Arraste para 1 para que as partículas percam sua velocidade com a decadência exponencial.
- Na Barra de Comando **** , insira a seguinte string para aumentar o tamanho de cada particula de 20 para 20 studs ao longo de sua vida com uma pequena janela de variação:
workspace.Mist.RiseMist.Mist.Size = NumberSequence.new{NumberSequenceKeypoint.new(0,20,1), NumberSequenceKeypoint.new(1,25,5)}Crie o arco-íris.
Insira um bloco **** na Mist e renomeie-o RainbowPart .
Posicione RainbowPart ligeiramente acima das outras partes do bloco.
Insira um ParticleEmitter em Rainbow e renomeie o emissor Rainbow .
Selecione Arco-Íris , então na janela Propriedades ,
Defina Textura para rbxassetid://16828911033 para renderizar partículas que se parecem com um arco-íris fraco.
Defina Tamanho para 25 para renderizar partículas grandes.
Defina Transparência para uma sequência de números em que as partículas começam como transparentes, se tornam ligeiramente opacas e depois se tornam transparentes novamente ao longo de sua vida.
- Tempo = 0 , Valor = 1 , Envelope = 0
- Tempo = 0.497 , Valor = 0.363 , Envelope = 0.05
- Tempo = 1 , Valor = 1 , Envelope = 0
- Defina Lifetime para 2, 4 para definir aleatoriamente a vida de cada particula entre 200 e 400 milissegundos.
- Defina Velocidade para 0.25 para emitir uma particula a cada 4 segundos.
- Defina Rotação para -20 para orientar cada particula em um ligeiro grau.
- Defina Velocidade para 0 para emitir cada partícula 0 studs por segundo.
- Defina Arraste para 1 para que as partículas percam sua velocidade com a decadência exponencial.
- Defina LightEmission para 1 para usar a mistura aditiva para renderizar as partículas com as cores atrás delas. Essa etapa também remove o fundo preto da própria textura.
- Defina LightInfluence para 0 para evitar que a luz ambiental afete a cor das partículas.
Na janela Explorer , selecione todas as partes do bloco na pasta Mist , então na janela Properties , defina Transparência para 1 para tornar os blocos invisíveis.