Um ParticleEmitter é um objeto que emite imagens 2D personalizáveis (partículas) no mundo, útil para simular efeitos especiais como fogo, fumaça e faíscas.
Criar emissores de partículas
Você pode adicionar um ParticleEmitter a um Attachment ou a um objeto da classe BasePart. Quando adicionado a um BasePart, as partículas surgem aleatoriamente dentro da caixa delimitadora da parte ou da forma; quando adicionado a um Attachment, as partículas surgem da posição do anexo.
Além disso, a propriedade EmissionDirection determina a face (Enum.NormalId) de emissão quando o emissor está anexado a um BasePart. Ao alterar essa propriedade, você altera consequentemente a direção de emissão da partícula também.
Para criar um emissor de partículas em uma parte ou anexo:
Na janela Explorer, passe o mouse sobre a parte ou anexo e clique no botão ⊕. Um menu contextual será exibido.
No menu, insira um ParticleEmitter. O emissor de partículas imediatamente emite partículas dentro da área da parte ou da posição do anexo.

Personalizar partículas
Ao experimentar com as seguintes propriedades, você pode personalizar a aparência visual de uma partícula para criar elementos de jogo únicos como vulcões explodindo, poeira mágica e partículas de poeira.
Textura
A propriedade Texture renderiza a imagem que cada partícula exibe. Por padrão, emissores de partículas têm partículas com uma textura de brilho branco, mas você pode alterá-la para qualquer textura para obter efeitos interessantes.
Se você estiver criando uma imagem para usar como textura de partícula, é melhor usar o formato .png com fundo transparente. Se a sua textura for em escala de cinza sem canal alfa, tente configurar a propriedade LightEmission do emissor de partículas para 1 para ocultar as regiões mais escuras.
Para inserir uma imagem em um emissor de partículas:
No menu Janela do Studio ou na barra de ferramentas da guia Página Inicial, abra a Caixa de Ferramentas.
Se você quiser inserir uma imagem que já importou anteriormente, clique na guia Inventário. Se você quiser inserir uma imagem de outro criador, clique na guia Loja do Criador.


Clique com o botão direito na imagem que você deseja inserir em um emissor de partículas e selecione Copiar ID do Ativo.
Na janela Explorer, selecione um ParticleEmitter.
Na janela Propriedades, cole o ID do ativo na propriedade Textura.
Cor
A propriedade Color tinge a textura de cada partícula para um tom específico ou para um gradiente ColorSequence ao longo de sua vida útil.
Na janela Explorer, selecione o ParticleEmitter.
Na janela Propriedades, selecione a propriedade Cor. Você pode:
- Clicar no quadrado de cor para abrir a janela pop-up de Cores e selecionar uma cor.
- Inserir três números no campo de valor de cor RGB.


Emissores de partículas semelhantes com partículas de diferentes cores
Tamanho
A propriedade Size define o tamanho de cada partícula como um tamanho consistente ou como uma NumberSequence ao longo de sua vida útil.
- Na janela Explorer, selecione o ParticleEmitter.
- Na janela Propriedades, selecione a propriedade Tamanho.
- Insira o tamanho que você deseja para cada partícula.
Transparência
A propriedade Transparency define a opacidade de cada partícula como um valor consistente, ou como uma opacidade de NumberSequence ao longo de sua vida útil. A opacidade pode variar de 0 (totalmente opaco) a 1 (totalmente claro). Para detalhes sobre como definir partículas para uma opacidade específica ou para uma sequência de números, siga o processo de personalização de Tamanho, mas use o campo de propriedade Transparência do emissor.
Vida útil
A propriedade Lifetime define a vida útil de uma partícula em segundos. Você pode definir essa propriedade como um valor consistente ou fornecer um intervalo de Mínimo e Máximo do qual uma vida útil aleatória será escolhida para cada partícula.
Velocidade
A propriedade Speed determina um intervalo aleatório de velocidades (mínima a máxima) às quais novas partículas serão emitidas, medida em studs por segundo. A velocidade de cada partícula é escolhida no momento da emissão e se aplica na EmissionDirection. Valores negativos fazem com que partículas viajem para trás.
Observe que mudar Speed não afeta partículas ativas e elas retêm a velocidade que já possuem. No entanto, Acceleration, Drag, e VelocityInheritance podem ser usados para afetar a velocidade das partículas ativas durante sua vida útil.
Taxa
A propriedade Rate define o número de partículas que emitem por segundo. Um único emissor de partículas pode criar até 400 partículas por segundo (100 por segundo em dispositivos móveis). Para melhor desempenho, mantenha a taxa de partículas o mais baixa possível e experimente com tamanho e outras propriedades para conseguir o efeito visual desejado.
Orientação
A propriedade Orientation determina qual modo de orientação usar para a geometria das partículas do emissor.
| Orientação | Comportamento da partícula |
|---|---|
| FacingCamera | Quad padrão voltado para a câmera; comportamento padrão. |
| FacingCameraWorldUp | Voltado para a câmera, mas girando apenas no eixo vertical para cima do mundo Y. |
| VelocityParallel | Alinhado paralelo à sua direção de movimento. |
| VelocityPerpendicular | Alinhado perpendicular à sua direção de movimento. |
LightEmission
A propriedade LightEmission determina a combinação das cores da textura Texture das partículas com as cores por trás delas. Um valor de 0 usa o modo de combinação normal, enquanto um valor de 1 usa a combinação aditiva. Valores mais altos podem fazer com que as partículas brilhem mesmo em ambientes com pouca luz.
SpreadAngle
A propriedade SpreadAngle tem um valor X e um Y que determinam o intervalo de ângulos dos quais uma partícula pode emitir. O intervalo é calculado de ambos os lados ao redor dos eixos; por exemplo, um valor de (45, 0) emite partículas em um intervalo de 0° a 45° longe da EmissionDirection ao longo do eixo X.
WindAffectsDrag
Se você ativou vento global em um jogo, as partículas seguirão o vetor de vento global desde que a propriedade WindAffectsDrag do emissor esteja habilitada e sua propriedade Drag seja maior que 0.

Shape
A propriedade Shape define a forma do emissor de partículas como Caixa, Esfera, Cilindro ou Disco.




Depois de selecionar uma forma para seu emissor de partículas, você pode experimentar com as propriedades ShapeStyle, ShapeInOut, e ShapePartial para personalizar ainda mais a emissão de partículas.
ShapeStyle
A ShapeStyle propriedade define o tipo de emissão como:
- Volume — Partículas emitem de qualquer lugar dentro da forma.
- Superfície — Partículas emitem apenas do exterior da forma.


ShapeInOut
A propriedade ShapeInOut define a emissão da seguinte forma:
- Para Dentro — Partículas emitem em direção à forma.
- Para Fora — Partículas emitem para longe da forma.
- Para Dentro e Para Fora — Partículas se comportam aleatoriamente como Para Dentro e Para Fora.
ShapePartial
A propriedade ShapePartial é um fator que você pode usar para modificar ainda mais as formas Cilindro, Disco e Esfera.
Para cilindros, ShapePartial multiplica o raio do cilindro no lado de sua EmissionDirection.


Compactação
A propriedade Squash permite a escala não uniforme das partículas, controlada pela curva ao longo de sua vida útil. Valores maiores que 0 fazem com que as partículas encolham horizontalmente e cresçam verticalmente, enquanto valores menores que 0 fazem com que as partículas cresçam horizontalmente e encolham verticalmente. Para detalhes sobre como definir a quantidade de compactação como um valor constante ou uma NumberSequence, siga o processo de personalização de Tamanho, mas use o campo de propriedade Compactação do emissor.
Flipbooks
Texturas de flipbook para partículas permitem que você anime a textura de uma partícula ao longo de sua vida útil.
A textura de flipbook pode ter uma disposição de quadros de 2×2, 4×4, 8×8, ou personalizada. Por exemplo, a seguinte imagem 1024×1024 tem uma disposição 8×8, sendo assim adequada para uma animação de 64 quadros.

Depois de especificar uma textura de flipbook válida para a propriedade Texture do emissor, a propriedade FlipbookLayout determina a disposição da textura. Pode ser qualquer valor do enum Enum.ParticleFlipbookLayout:
- None — Desabilita características de flipbook e usa a textura como uma única textura estática ao longo da vida da partícula.
- Grid2x2 — 2×2 quadros para uma animação de 4 quadros.
- Grid4x4 — 4×4 quadros para uma animação de 16 quadros.
- Grid8x8 — 8×8 quadros para uma animação de 64 quadros.
Para personalizar ainda mais o comportamento do flipbook, você pode ajustar as seguintes propriedades:
A propriedade FlipbookFramerate determina a velocidade com que a textura de flipbook anima em quadros por segundo. Assim como Lifetime, você pode definir um intervalo mínimo e máximo para randomizar a taxa de quadros do flipbook, com um máximo de 30 quadros por segundo.
Outras propriedades
Para personalizar ainda mais as partículas, considere as seguintes propriedades do emissor, e clique para a página de referência de ParticleEmitter para mais detalhes.
As seguintes propriedades de aparência são além de cor, emissão de luz, orientação, tamanho, textura, transparência, compactação, e flipbooks.
| Propriedade | Descrição |
|---|---|
| LightInfluence | Determina quão luz ambiental afeta a cor de partículas individuais. |
| Brightness | Escala a luz emitida do emissor quando LightInfluence é 0. |
| ZOffset | Determina a posição de renderização frente-costas das partículas, em studs, sem alterar seu tamanho na tela. Isso permite que múltiplos emissores sejam sobrepostos, ou para renderizar partículas na frente ou atrás do objeto pai. |