Een ParticleEmitter is een object dat aanpasbare 2D-afbeeldingen (deeltjes) in de wereld uitstraalt, nuttig voor het simuleren van speciale effecten zoals vuur, rook en vonken.
Maak deeltjesemitters
Je kunt een ParticleEmitter aan een Attachment of een object van de BasePart-klasse koppelen. Wanneer het aan een BasePart is gekoppeld, verschijnen deeltjes willekeurig binnen de begrenzingsdoos of vorm; wanneer het aan een Attachment is gekoppeld, komen deeltjes uit de positie van de attachment.
Bovendien bepaalt de eigenschap EmissionDirection de zijde (Enum.NormalId) van de emissie wanneer de emitter aan een BasePart is gekoppeld. Wanneer je deze eigenschap wijzigt, wijzig je ook de richting van de deeltjesemissie.
Om een deeltjesemitter op een deel of attachment te maken:
In het Explorer-venster, beweeg de muis over het deel of de attachment en klik op de ⊕ knop. Een contextmenu wordt weergegeven.
Kies in het menu voor een ParticleEmitter. De deeltjesemitter begint onmiddellijk met het uitstoten van deeltjes binnen het gebied van het deel of vanuit de positie van de attachment.

Pas deeltjes aan
Door te experimenteren met de volgende eigenschappen, kun je het visuele uiterlijk van een deeltje aanpassen om unieke gameplay-elementen te maken zoals uitbarstende vulkanen, magische stof en stofdeeltjes.
Textuur
De Texture eigenschap rendert de afbeelding die elk deeltje weergeeft. Standaard hebben deeltjesemitters deeltjes met een witte sparkle-textuur, maar je kunt deze wijzigen in elke textuur om interessante effecten te bereiken.
Als je een afbeelding maakt om als deeltje-textuur te gebruiken, is het het beste om het .png-formaat met een transparante achtergrond te gebruiken. Als je textuur grijswaarden heeft zonder alfa-kanaal, probeer dan de eigenschap LightEmission van de deeltjesemitter in te stellen op 1 om de donkerdere gebieden te verbergen.
Om een afbeelding in een deeltjesemitter in te voegen:
Open het Toolbox vanuit het Venster-menu of de werkbalk van het Start-tabblad in Studio.
Als je een afbeelding wilt invoegen die je eerder hebt geïmporteerd, klik dan op het tabblad Inventaris. Als je een afbeelding wilt invoegen van een andere maker, klik dan op het tabblad Creator Store.


Klik met de rechtermuisknop op de afbeelding die je in een deeltjesemitter wilt invoegen en selecteer Kopieer Asset ID.
Selecteer in het Explorer-venster een ParticleEmitter.
Plak in het Eigenschappen-venster de asset-ID in de eigenschap Textuur.
Kleur
De Color eigenschap kleurt de textuur van elk deeltje naar een specifieke tint, of naar een kleurverloop ColorSequence over zijn levensduur.
In het Explorer-venster, selecteer de ParticleEmitter.
In het Eigenschappen-venster, selecteer de eigenschap Kleur. Je kunt ofwel:
- Klik op het kleurvak om het pop-upvenster Kleuren te openen en een kleur te selecteren.
- Voer drie getallen in het RGB-kleurwaardeveld in.


Vergelijkbare deeltjesemitters met verschillende gekleurde deeltjes
Grootte
De Size eigenschap stelt de grootte van elk deeltje in op een constante grootte, of op een NumberSequence over zijn levensduur.
- In het Explorer-venster, selecteer de ParticleEmitter.
- In het Eigenschappen-venster, selecteer de eigenschap Grootte.
- Voer de grootte in die je wilt dat elk deeltje heeft.
Transparantie
De Transparency eigenschap stelt de opaciteit van elk deeltje in als een constante waarde, of als een NumberSequence opaciteit over zijn levensduur. Opaciteit kan variëren van 0 (volledig ondoorzichtig) tot 1 (volledig transparant). Voor details over hoe je deeltjes kunt instellen op een specifieke opaciteit of op een getallenreeks, volg je het proces in het aanpassen van Grootte maar gebruik je het veld Transparantie van de emitter in plaats daarvan.
Levensduur
De Lifetime eigenschap stelt de levensduur van een deeltje in seconden in. Je kunt deze eigenschap instellen als een constante waarde, of een Min en Max bereik opgeven waaruit een willekeurige levensduur voor elk deeltje zal worden gekozen.
Snelheid
De Speed eigenschap bepaalt een willekeurig bereik van snelheden (minimum tot maximum) waarmee nieuwe deeltjes worden uitgezonden, gemeten in studs per seconde. De snelheid van elk deeltje wordt gekozen bij de emissie en deze geldt in de EmissionDirection. Negatieve waarden zorgen ervoor dat deeltjes achteruit bewegen.
Let op dat het wijzigen van Speed geen invloed heeft op actieve deeltjes en ze behouden de snelheid die ze al hebben. Echter, Acceleration, Drag, en VelocityInheritance kunnen worden gebruikt om de snelheid van actieve deeltjes gedurende hun levensduur te beïnvloeden.
Frequentie
De Rate eigenschap stelt het aantal deeltjes in dat per seconde wordt uitgezonden. Een enkele deeltjesemitter kan tot 400 deeltjes per seconde creëren (100 per seconde op mobiel). Voor de beste prestaties, houd de deeltjesfrequentie zo laag mogelijk en experimenteer met grootte en andere eigenschappen om het gewenste visuele effect te bereiken.
Oriëntatie
De Orientation eigenschap bepaalt welke oriëntatiemodus moet worden gebruikt voor de geometrie van de deeltjes van een emitter.
| Oriëntatie | Deeltjesgedrag |
|---|---|
| FacingCamera | Standaard billboard quad dat naar de camera kijkt; standaardgedrag. |
| FacingCameraWorldUp | Deelt naar de camera, maar draait alleen op de verticale opwaartse wereld Y-as. |
| VelocityParallel | Uitgelijnd parallel aan hun bewegingsrichting. |
| VelocityPerpendicular | Uitgelijnd loodrecht op hun bewegingsrichting. |
Lichtemissie
De LightEmission eigenschap bepaalt de menging van de kleuren van deeltjes Texture met de kleuren erachter. Een waarde van 0 gebruikt de normale mengmodus terwijl een waarde van 1 additieve menging gebruikt. Hogere waarden kunnen ervoor zorgen dat deeltjes zelfs in omgevingen met weinig licht oplichten.
Verspreidingshoek
De SpreadAngle eigenschap heeft een X en een Y waarde die het bereik van hoeken bepalen waaruit een deeltje kan worden uitgezonden. Het bereik wordt berekend vanaf beide zijden rond de assen; bijvoorbeeld, een waarde van (45, 0) stoot deeltjes uit in een bereik van 0° tot 45° weg van de EmissionDirection over de X-as.
WindBeïnvloedtWrijving
Als je globale wind in een spel hebt ingeschakeld, volgen deeltjes de globale windvector zolang de eigenschap WindAffectsDrag van de emitter is ingeschakeld en de eigenschap Drag groter is dan 0.

Vorm
De Shape eigenschap stelt de vorm van de deeltjesemitter in op een Doos, Bol, Cilinder of Schijf.




Nadat je een vorm voor je deeltjesemitter hebt geselecteerd, kun je experimenteren met de ShapeStyle, ShapeInOut, en ShapePartial eigenschappen om de deeltjesemissie verder aan te passen.
ShapeStyle
De ShapeStyle eigenschap stelt het emissietype in op:
- Volume — Deeltjes worden overal binnen de vorm uitgezonden.
- Oppervlak — Deeltjes worden alleen van de buitenkant van de vorm uitgezonden.


ShapeInOut
De ShapeInOut eigenschap stelt de emissie als volgt in:
- Inwaarts — Deeltjes worden naar de vorm uitgezonden.
- Uitwaarts — Deeltjes worden van de vorm weg uitgezonden.
- InEnUit — Deeltjes gedragen zich willekeurig als zowel Inwaarts als Uitwaarts.
ShapePartial
De ShapePartial eigenschap is een factor die je kunt gebruiken om Cilinder, Schijf, en Bol vormen verder te wijzigen.
Voor cilinders, ShapePartial vermenigvuldigt de straal van de cilinder aan de kant van zijn EmissionDirection.


Samensquashing
De Squash eigenschap maakt niet-uniforme schaling van deeltjes mogelijk, curve-gestuurd over hun levensduur. Waarden groter dan 0 zorgen ervoor dat deeltjes zowel horizontaal krimpen als verticaal groeien, terwijl waarden kleiner dan 0 ervoor zorgen dat deeltjes zowel horizontaal groeien als verticaal krimpen. Voor details over hoe je de squashhoeveelheid kunt instellen op een constante of op een NumberSequence, volg je het proces in het aanpassen van Grootte maar gebruik je het veld Squash van de emitter in plaats daarvan.
Squash is vooral nuttig voor regen. Het uitrekken van een deeltje maakt de textuur veel minder herkenbaar, zodat zelfs de standaard sparkle-textuur kan doorgaan als een vallende regendruppel. Voor details, zie Simuleer regen.
Flipbooks
Deeltjes flipbook-texturen stellen je in staat om de textuur van een deeltje over zijn levensduur te animeren.
De flipbook-textuur kan een frame-indeling van 2×2, 4×4, 8×8 of aangepast hebben. Bijvoorbeeld, de volgende afbeelding van 1024×1024 heeft een 8×8-indeling, dus het is geschikt voor een 64‑frame animatie.

Zodra je een geldige flipbook textuur voor de eigenschap Texture van de emitter hebt opgegeven, bepaalt de eigenschap FlipbookLayout de indeling van de textuur. Het kan elke waarde van de Enum.ParticleFlipbookLayout enum zijn:
- None — Schakel flipbook-functies uit en gebruik de textuur als een enkele statische textuur over de levensduur van het deeltje.
- Grid2x2 — 2×2 frames voor een 4-frame animatie.
- Grid4x4 — 4×4 frames voor een 16-frame animatie.
- Grid8x8 — 8×8 frames voor een 64-frame animatie.
Om het flipbookgedrag verder aan te passen, kun je de volgende eigenschappen aanpassen:
De FlipbookFramerate eigenschap bepaalt hoe snel de flipbook-textuur animeert in frames per seconde. Net als Lifetime, kun je een minimum- en maximumbereik instellen om de framerate van de flipbook te randomiseren, met een maximum van 30 frames per seconde.
Andere eigenschappen
Om deeltjes verder aan te passen, overweeg de volgende emitter-eigenschappen, en klik door naar de ParticleEmitter referentiepagina voor meer details.
De volgende uiterlijk-eigenschappen zijn naast kleur, lichtemissie, oriëntatie, grootte, textuur, transparantie, samensquashing, en flipbooks.
| Eigenschap | Beschrijving |
|---|---|
| LightInfluence | Bepaalt hoeveel omgevingslicht de kleur van individuele deeltjes beïnvloedt. |
| Brightness | Schaalt het licht dat door de emitter wordt uitgezonden wanneer LightInfluence 0 is. |
| ZOffset | Bepaalt de voor-achter renderpositie van deeltjes, in studs, zonder hun grootte op het scherm te veranderen. Dit maakt het mogelijk om meerdere emitters te stapelen, of om deeltjes voor of achter het ouderobject te renderen. |
Simuleer regen
Het simuleren van elke regendruppel is niet praktisch, maar deeltjesemitters kunnen een overtuigende illusie van regen in een 3D-wereld creëren:
Plaats een Part boven het gebied waar je wilt dat de regen valt. Veranker het, stel de Transparantie in op 1, en schakel KanBotsen uit.
Plaats een ParticleEmitter in het deel en stel de EmissionDirection in op Onder.
Stel Samensquashing in op een positieve waarde, zoals 3, om elk deeltje in een streak te rekken. Hogere waarden maken deeltjes dunner, dus je moet mogelijk ook de grootte verhogen.
Donker de Kleur af, verhoog LichtInvloed zodat de regen reageert op de verlichting eromheen, verhoog Snelheid, en verlaag Levensduur zodat deeltjes nabij de grond verdwijnen.
Om de regen te kantelen, stel een kleine Rotatie in of schakel WindBeïnvloedtWrijving in zodat deeltjes de globale wind volgen. Wrijving vertraagt de val naast het toepassen van de wind, dus je moet mogelijk de neerwaartse Versnelling verhogen om de regen snel te laten vallen.
Een enkele emitter kan een beperkt aantal deeltjes per seconde creëren (zie Frequentie), dus zwaardere regen of een groter gebied vereist veel delen met emitters. Rangschik ze in een raster over het gewenste gebied.
Om de regen die landt te tonen, plaats transparante delen op de grond met emitters waarvan de EmissieRichting Boven is. Spetterdeeltjes worden niet uitgerekt zoals vallende regen, dus ze hebben meestal een aangepaste textuur en een Transparantie reeks nodig die ervoor zorgt dat elke spetter lijkt te vervagen. Spetters zien er alleen goed uit op oppervlakken waar je ze zorgvuldig hebt geplaatst. Als je ze niet met de hand kunt plaatsen, is laaghangende mist veel vergevingsgezinder.
Beheer deeltjeslimieten
Regen die een groot gebied bedekt, bereikt snel de deeltjeslimieten, en mobiele apparaten hebben veel lagere limieten dan desktops. Als deeltjes in de verte flikkeren, verminder dan hoeveel er tegelijkertijd op het scherm zijn:
- Plaats de emitterdelen lager in de lucht en verkort de Levensduur om dit aan te passen.
- Verlaag de Frequentie om een stortbui in een lichtere bui te veranderen.
- Bedek een kleiner gebied met minder emitterdelen.
Regenvoorbeelden
- Voor een handgemaakt voorbeeld, zie The Mystery of Duvall Drive. Het gebruikt emitters voor regen, mist, spetters, en water dat van luifels druppelt.
- Voor een gescript voorbeeld, zie het weather-island project. Het plant stormen, schakelt wolken en wind over, spawnt regen- en mistemitters, en voert dakdetectie uit.