ParticleEmitter

Pokaż przestarzałe

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

A emiter cząstek jest specjalnym obiektem, który emituje dostosowywalne cząstki 2D do świata.Aby wyemitować i wyrenderować cząstki, musi być przypisany do BasePart lub Attachment wewnątrz takiej części.Gdy zostaną przypisane do BasePart , cząsteczki powstają losowo w ramach pudełka granicznego części lub kształtu ; gdy zostaną przypisane do Attachment , cząsteczki powstają z pozycji załącznika.

Cząsteczki emitują się automatycznie, gdy emiter jest Enabled z niezerowym Rate, lub ręcznie, gdy jest wywołany metodą Emit.Z niezerowym Speed cząstki są w ruchu do przodu i/lub do tyłu, w zależności od właściwości ShapeInOut.

Domyślnie cząstki skierowane są w stronę kamery, ale Orientation można zmodyfikować, aby zamiast tego respektować prędkość cząstek.

Podczas Lifetime cząstek mogą zmieniać wygląd zgodnie z Color i Size.Ich ruch może się zmieniać z czasem zgodnie z właściwościami Drag i Acceleration, a także mogą się poruszać, gdy ich rodzic się porusza, gdy są LockedToPart lub mają niezerową wartość VelocityInheritance.

Aby dowiedzieć się więcej o tworzeniu i dostosowywaniu emiterów cząstek, zobacz Emiterów cząstek.

Przykłady kodu

This rather lengthy code sample shows how every property of a ParticleEmitter can be set, including NumberRange, NumberSequence and ColorSequence properties. Below is how the ParticleEmitter should look after every property is set. Try playing around with the different properties to customize how the effect looks!

Creating a Particle Emitter from Scratch

local emitter = Instance.new("ParticleEmitter")
-- Number of particles = Rate * Lifetime
emitter.Rate = 5 -- Particles per second
emitter.Lifetime = NumberRange.new(1, 1) -- How long the particles should be alive (min, max)
emitter.Enabled = true
-- Visual properties
emitter.Texture = "rbxassetid://1266170131" -- A transparent image of a white ring
-- For Color, build a ColorSequence using ColorSequenceKeypoint
local colorKeypoints = {
-- API: ColorSequenceKeypoint.new(time, color)
ColorSequenceKeypoint.new(0, Color3.new(1, 1, 1)), -- At t=0, White
ColorSequenceKeypoint.new(0.5, Color3.new(1, 0.5, 0)), -- At t=.5, Orange
ColorSequenceKeypoint.new(1, Color3.new(1, 0, 0)), -- At t=1, Red
}
emitter.Color = ColorSequence.new(colorKeypoints)
local numberKeypoints = {
-- API: NumberSequenceKeypoint.new(time, size, envelop)
NumberSequenceKeypoint.new(0, 1), -- At t=0, fully transparent
NumberSequenceKeypoint.new(0.1, 0), -- At t=.1, fully opaque
NumberSequenceKeypoint.new(0.5, 0.25), -- At t=.5, mostly opaque
NumberSequenceKeypoint.new(1, 1), -- At t=1, fully transparent
}
emitter.Transparency = NumberSequence.new(numberKeypoints)
emitter.LightEmission = 1 -- When particles overlap, multiply their color to be brighter
emitter.LightInfluence = 0 -- Don't be affected by world lighting
-- Speed properties
emitter.EmissionDirection = Enum.NormalId.Front -- Emit forwards
emitter.Speed = NumberRange.new(0, 0) -- Speed of zero
emitter.Drag = 0 -- Apply no drag to particle motion
emitter.VelocitySpread = NumberRange.new(0, 0)
emitter.VelocityInheritance = 0 -- Don't inherit parent velocity
emitter.Acceleration = Vector3.new(0, 0, 0)
emitter.LockedToPart = false -- Don't lock the particles to the parent
emitter.SpreadAngle = Vector2.new(0, 0) -- No spread angle on either axis
-- Simulation properties
local numberKeypoints2 = {
NumberSequenceKeypoint.new(0, 0), -- At t=0, size of 0
NumberSequenceKeypoint.new(1, 10), -- At t=1, size of 10
}
emitter.Size = NumberSequence.new(numberKeypoints2)
emitter.ZOffset = -1 -- Render slightly behind the actual position
emitter.Rotation = NumberRange.new(0, 360) -- Start at random rotation
emitter.RotSpeed = NumberRange.new(0) -- Do not rotate during simulation
-- Create an attachment so particles emit from the exact same spot (concentric rings)
local attachment = Instance.new("Attachment")
attachment.Position = Vector3.new(0, 5, 0) -- Move the attachment upwards a little
attachment.Parent = script.Parent
emitter.Parent = attachment

Podsumowanie

Właściwości

  • Odczyt równoległy

    Określa globalną akcelerację osi wszystkich aktywnych cząstek, mierzoną w szpilkach na sekundę kwadratowaną.

  • Odczyt równoległy

    Skaluje światło emitowane z emitera, gdy ParticleEmitter.LightInfluence jest 0.

  • Odczyt równoległy

    Określa kolor wszystkich aktywnych cząstek w czasie ich indywidualnego życia.

  • Odczyt równoległy

    Określa szybkość, z jaką cząstki stracą połowę swojej prędkości poprzez wykładniczy upadek.

  • Odczyt równoległy

    Określa twarz obiektu, z którego emitowane są cząstki.

  • Odczyt równoległy

    Określa, czy cząstki emitują z emitenta.

  • Odczyt równoległy

    Określa, jak szybko tekstura flipbooka animuje się w ramach na sekundę.

  • Odczyt równoległy

    Komunikat o błędzie do wyświetlenia, jeśli Texture jest niezgodny z flipbookiem.

  • Określa układ tekstury flipbooka. Musi być Nie, Grid2x2, Grid4x4 lub Grid8x8.

  • Określa rodzaj animacjaprzewracania książki. Musi to być pętla, jednorazowy strzał, pingpong lub losowy.

  • Odczyt równoległy

    Określa, czy animacja zaczyna się od losowego ramu wybranego za każdą cząstkę zamiast zawsze zaczynać od ramy zerowej.

  • Odczyt równoległy

    Definiuje losowy zakres wieku dla nowo emitowanych cząstek.

  • Odczyt równoległy

    Określa, jak dużo kolorów cząstek jest mieszanych z kolorami za nimi.

  • Odczyt równoległy

    Określa, jak dużo cząstek jest wpływanych przez światło środowiskowe.

  • Ukryte
    Bez replikacji
    Odczyt równoległy
  • Odczyt równoległy

    Określa, czy cząstki poruszają się sztywno z częścią, z której są emitowane.

  • Określa, jak orientować cząstki.

  • Odczyt równoległy

    Określa liczbę cząstek emitowanych na sekundę.

  • Odczyt równoległy

    Określa zakres prędkości kątowych emitowanych cząstek, mierzony w stopniach na sekundę.

  • Odczyt równoległy

    Określa zakres rotacji w stopniach dla nowo emitowanych cząstek.

  • Odczyt równoległy

    Ustawia kształt emitera na pudełko, kulę, cylinder lub dysk.

  • Ustawia, czy cząstki emitują tylko na zewnątrz, tylko do wewnątrz lub w obu kierunkach.

  • Odczyt równoległy

    Wpływa na emisję cząstek z cylindra, dysków, kuli i kształtów pudełek.

  • Ustawia emisję cząstek na emisję objętościową lub wyłącznie powierzchniową.

  • Odczyt równoległy

    Określa rozmiar świata przez czas życia poszczególnych cząstek.

  • Odczyt równoległy

    Określa losowy zakres prędkości (od minimalnej do maksymalnej) przy których nowe cząstki będą emitować, mierzone w szpilkach na sekundę.

  • Odczyt równoległy

    Określa kąty, w których cząstki mogą być losowo emitowane, mierzone w stopniach.

  • Odczyt równoległy

    Umożliwia nierównomierne skalowanie cząstek, kontrolowane przez ich żywotność.

  • Texture:ContentId
    Odczyt równoległy

    Określa obraz renderowany na cząstkach.

  • Odczyt równoległy

    Wartość pomiędzy 0 a 1, która kontroluje prędkość efektu cząstek.

  • Odczyt równoległy

    Określa przejrzystość cząstek w czasie ich indywidualnego życia.

  • Odczyt równoległy

    Określa, ile prędkości rodzica jest odziedziczone przez cząstki po emisji.

  • Odczyt równoległy

    Czy emitowane cząstki podążają za wektorem Workspace.GlobalWind.

  • Odczyt równoległy

    Określa pozycję renderowania cząstek wstecz; używany do kontroli tego, jakie cząstki renderują na górze/dole.

Metody

  • Clear():()

    Wyczyść wszystkie cząstki, które zostały emitowane.

  • Emit(particleCount : number):()

    Emituje określoną liczbę cząstek.

Właściwości

Acceleration

Odczyt równoległy

Właściwość Przyspieszenie określa, w jaki sposób Speed cząstki zmieniają się w ciągu ich życia.Jest określony za pomocą Vector3, aby określić przyspieszenie na globalnych osiach X / Y / Z , i jest mierzone w szpilkach na sekundę kwadratowane.Po zmianie ta właściwość wpływa na wszystkie cząstki emitowane przez emiter, zarówno obecne, jak i przyszłe.

Przyspieszenie spowolni cząstki, jeśli punkty wektora w przeciwnej EmissionDirection będą emitowane. W przeciwnym razie przyspieszy je.

Brightness

Odczyt równoległy

Skaluje światło emitowane z emitera, gdy ParticleEmitter.LightInfluence jest 0.

Odczyt równoległy

Właściwość Kolor określa kolor wszystkich aktywnych cząstek w czasie ich indywidualnego życia.Kolor ma zastosowanie do Texture podczas renderowania i używa tekstury alfa wraz z emiterem Transparency.Jeśli emiter ma wartość LightEmission większą niż 0, ciemniejsze kolory sprawiają, że cząstki wydają się bardziej przezroczyste.

Zmiana tej właściwości wpływa na wszystkie cząstki emitowane przez emiter, zarówno obecne, jak i przyszłe.

Gdy ta właściwość używa gradientu ColorSequence, kolor obecny cząstki jest określany za pomocą liniowej interpolacji na sekwencji za pomocą wieku cząstki i jej całkowitego czasu życia.Na przykład, jeśli cząstka pojawiła się 2 sekundy temu i ma żywotność 4 sekund, kolor będzie taki, jaki jest 50% drogi przez ColorSequence.

Drag

Odczyt równoległy

Właściwość Przeciągnij określa prędkość w sekundach, w których poszczególne cząstki stracą połowę swojej prędkości poprzez wykładniczy upadek.Przeciąganie jest stosowane poprzez skalowanie oczekiwanej prędkości z Speed i każdej prędkości odziedziczonej od rodzica z VelocityInheritance.Ustawienie tej właściwości na negatywną wartość spowoduje, że prędkość cząstek wzrośnie wykładniczo.

EmissionDirection

Odczyt równoległy

Właściwość Kierunek emisji określa twarz (Enum.NormalId) obiektu rodzica, z którego cząstki emitują.Negatywny Speed oznacza, że cząstki emitują w przeciwnym kierunku.SpreadAngle dalej zmienia kierunek emisji.

Jeśli dodasz ParticleEmitter do Attachment, które ma kierunek, możesz obrócić sam załącznik (Attachment.Orientation) zamiast używać tej właściwości.

Enabled

Odczyt równoległy

Właściwość Włączona określa, czy cząstki emitują z emitera.Ustawienie tego na false powstrzymuje dalsze powstawanie cząstek, ale wszystkie istniejące cząstki pozostają aktywne, dopóki nie wygasną.Właściwość ta jest przydatna, gdy masz gotowy efekt cząstek, który chcesz pozostawić wyłączony, dopóki nie będziesz potrzebował go do emisji cząstek.

Jeśli chcesz usunąć wszystkie cząstki z wyłączonego emitera, wezwij Clear() .Następnie, jeśli chcesz, wezwij Emit() na emiter, aby emitował i renderował cząstki.

FlipbookFramerate

Odczyt równoległy

Właściwość FlipbookFramerate określa, jak szybko animuje się tekstura flipbooka w klate na sekundę.Podobnie jak Lifetime, możesz ustawić minimalny i maksymalny zakres, aby zrównoważyć szybkość odtwarzania flipbooka, z maksymalnie 30 ramami na sekundę.

FlipbookIncompatible

Odczyt równoległy

Komunikat o błędzie do wyświetlenia, jeśli Texture jest niezgodny z flipbookiem.Tekstura flipbooka musi mieć wymiary pikseli 8×8, 16×16, 32×32, 64×64, 128×128, 256×256, 512×512 lub 1024×1024.

Odczyt równoległy

Właściwość FlipbookLayout określa układ tekstury. Może to być dowolna wartość z enzymu Enum.ParticleFlipbookLayout:

  • Żadna – Wyłącz funkcje flipbooka i użyj tekstury jako pojedynczej statycznej tekstury przez całe życie cząstki.
  • Grid2x2 – ramki 2×2 dla animacja4-ramkowej.
  • Grid4x4 – ramy 4×4 dla animacja16-ramkowej.
  • Grid8x8 – 8×8 ram dla animacja64-ramkowej.
Odczyt równoległy

Właściwość FlipbookMode określa typ animacjaprzewracania książki. Może to być dowolna wartość z listy Enum.ParticleFlipbookMode:

  • Pętla – Bez przerw odtwarzaj wszystkie ramy, zaczynając od pierwszej ramy po grze ostatniej.
  • OneShot – Odtwarzaj animację tylko raz w ciągu życia cząstki.Z tym ustawieniem właściwość nie ma zastosowania; zamiast tego szybkość klatek jest określana przez podzielenie liczby cząstek przez liczbę klatek w animacja. Jednorazowe animacje są przydatne do wyraźnych animacji niepowtarzalnych, takich jak wybuch, który tworzy kłębek dymu, a następnie znika.
  • PingPong – Graj od pierwszego do ostatniego ramu, a następnie odwrotnie od ostatniego do pierwszego, powtarzając przez cały Lifetime czas cząstki.
  • Losowe – Odtwarzaj ramy w losowym porządku, miksując/przekrzyżowując jedną ramę do następnej.Może to być przydatne dla organicznych tekstur cząstek przy niskich szybkościach klatek, takich jak powoli migające gwiazdy między subtelnie różnymi kształtami.

FlipbookStartRandom

Odczyt równoległy

Właściwość FlipbookStartRandom określa, czy każda cząstka zaczyna się od losowego ramu animacji zamiast zawsze zaczynać od pierwszego ramu.Jednym przypadkiem użycia jest włączenie tej właściwości oraz ustawienie FlipbookFramerate na zero, co powoduje, że każda emitowana cząstka jest statycznym ramem wybranym losowo z tekstury flipbooka.

Lifetime

Odczyt równoległy

Właściwość Czas życia określa maksymalny i minimalny wiek dla nowo emitowanych cząstek.Czas trwania przechowywany jest na podstawie każdej cząstki, więc jeśli ta wartość zostanie zmieniona, istniejące cząstki pozostaną aktywne do czasu wygaśnięcia losowo wybranego czasu trwania.Żywotność 0 zapobiegnie emisji cząstek w wszystko.

LightEmission

Odczyt równoległy

Właściwość Emisja światła określa mieszanie kolorów Texture z kolorami, które je otaczają.Wartość 0 używa normalnego trybu mieszania, podczas gdy wartość 1 używa trybu dodawania.Po zmianie ta właściwość natychmiast wpływa na wszystkie cząstki posiadane przez emiter, zarówno obecne, jak i przyszłe.

Właściwość ta nie powinna być mylona z LightInfluence, która określa, w jaki sposób cząstki są wpływane przez światło środowiskowe.

Właściwość ta nie nie powoduje, że cząstki rozświetlają otoczenie wokół nich. Aby to osiągnąć, rozważ użycie PointLight.

LightInfluence

Odczyt równoległy

Właściwość Wpływ światła określa, jak dużo światła środowiskowego wpływa na kolor poszczególnych cząstek podczas renderowania.Musi znajdować się w przedziale 0–1; zachowanie wartości poza tym przedziałem nie jest zdefiniowane.Na 0 cząstki nie są w żaden sposób wpływane przez światło (zachowują pełną jasność); na 1 cząstki są w pełni wpływane przez światło (w całkowitej ciemności cząstki będą czarne).

Domyślnie wartość ta wynosi 1, jeśli została wstawiona za pomocą narzędzi Studio. Jeśli została wstawiona za pomocą Instance.new(), wynosi 0.

LocalTransparencyModifier

Ukryte
Bez replikacji
Odczyt równoległy

LockedToPart

Odczyt równoległy

Właściwość ZablokowaneDoCzęści określa, czy cząstki "przyklejają się" do źródła emisji ( lub >, do których jest powiązany).Jeśli true , aktywne cząstki będą się poruszać w kroku blokowym, jeśli obiekt rodzic się porusza.

Alternatywnie rozważ użycie właściwości VelocityInheritance z wartością 1, która może być bardziej odpowiednia dla niektórych efektów.

Odczyt równoległy

Właściwość Orientacja określa, który tryb orientacji należy użyć do geometrii cząstek emitenta.


<td>Zachowanie cząstek</td>
</tr>
</thead>
<tbody>
<tr>
<td><b>Skierowana kamera</b></td>
<td>Standardowy billboard skierowany na kamerę; domyślne zachowanie.</td>
</tr>
<tr>
<td><b>Skierowanie kamery świata w górę</b></td>
<td>Patrząc w kamerę, ale obracając się tylko na pionowym w górę świecie <b>Y</b> osi.</td>
</tr>
<tr>
<td><b>Prędkość parallelna</b></td>
<td>Ustawiony równolegle do ich kierunku ruchu.</td>
</tr>
<tr>
<td><b>Prędkość względna</b></td>
<td>Wyznaczony wzdłuż równoległego do ich ruchu kierunkowego.</td>
</tr>
</tbody>
Orientacja

Rate

Odczyt równoległy

Właściwość Szybkość określa, ile cząstek jest emitowanych na sekundę, gdy emiter jest Enabled.Jest to odwrotność częstotliwości, co oznacza, że ​​stopa 5 emituje cząstkę co 0,2 sekundy.Po zmianie ta właściwość nie ma wpływu na żadne aktywne cząstki.

RotSpeed

Odczyt równoległy

Właściwość Prędkość obrotowa określa losowy zakres prędkości kątowych dla nowo emitowanych cząstek, mierzony w stopniach na sekundę.Losowa prędkość kątowa jest wybierana przy emisji, więc zmiana tej właściwości nie wpływa na aktywne cząstki.Właściwość ta, wraz z Rotation, wpływa na kąt obrazu cząstki renderowanej.

Cząsteczki o bardzo dużych prędkościach kątowych mogą wydawać się obracać wolniej lub wszystko, ponieważ kąt obrotu jest zsynchronizowany z prędkością renderowania oprogramowania.Na przykład, jeśli cząstki będą się obracać dokładnie o 360 stopni co każdą ramę, nie będzie widocznej zmiany w obrocie.

Rotation

Odczyt równoległy

Właściwość Rotacja określa zakres rotacji w stopniach dla nowo emitowanych cząstek, mierzony w stopniach.Pozytywne wartości są w kierunku godzinowym.Właściwość ta jest powszechnie ustawiona na [0, 360] , aby zapewnić całkowicie losową rotację dla nowych cząstek.RotSpeed również wpływa na rotację cząstki w ciągu jej życia.

Zmiany w tej wartości dotyczą tylko nowych cząstek; istniejące cząstki utrzymują rotację, przy której zostały pierwotnie emitowane.

Odczyt równoległy

Właściwość Kształd ustawia kształt emitera na pudełko, kulę, cylinder lub dysk.Po dokonaniu wyboru możesz dostosować właściwości ShapeStyle, ShapeInOut i ShapePartial, aby dalej dostosować emisję cząstek.Dla przykładów wizualnych patrz tutaj .

Odczyt równoległy

Ustawia, czy cząstki emitują tylko na zewnątrz, tylko do wewnątrz lub w obu kierunkach. Dla przykładów wizualnych patrz tutaj .

ShapePartial

Odczyt równoległy

W zależności od wartości Shape, ta właściwość wykonuje inną akcji:

  • Dla cylindrów określa proporcję maksymalnego promienia.Wartość 0 oznacza, że górna część cylindra ma promień 0, co czyni ją stożkiem.Wartość 1 oznacza, że cylinder nie ma deformacji.

  • Dla dysków określa ono proporcję promienia wewnętrznego.Wartość 0 oznacza, że dysk jest w pełni zamknięty (krąg/eliptyka), podczas gdy wartość 1 oznacza, że emisja występuje tylko na najbardziej zewnętrznym obrzeżu dysków.Wartości pomiędzy 0 a 1 emitują z anulusa o określonej grubości.

  • Dla kulek określa kąt półkulowy, z którego emitują cząstki.Wartość 1 oznacza, że cząstki emitują z całej kuli; wartość 0,5 oznacza, że cząstki emitują z półksiężyca; wartość 0 oznacza, że cząstki emitują tylko z jednego punktu na biegunie północnym.

Dla przykładów wizualnych patrz tutaj.

Odczyt równoległy

Ustawia emisję cząstek na emisję objętościową lub wyłącznie powierzchniową. Dla przykładów wizualnych patrz tutaj .

Odczyt równoległy

Właściwość Rozmiar określa rozmiar świata wszystkich aktywnych cząstek w czasie ich indywidualnego życia.Właściwość ta reprezentuje wymiary kwadratu Texture dla każdej cząstki.Jest to NumberSequence, które działa podobnie do Transparency.

Obecny rozmiar cząstki jest określany przez liniową interpolację na tej sekwencji za pomocą wieku cząstki i jej całkowitego czasu życia.Na przykład, jeśli cząstka pojawiła się 2 sekundy temu i ma żywotność 4 sekund, rozmiar będzie taki, jaki wynosi 50% drogi przez NumberSequence.Dla każdego NumberSequenceKeypoint z wartością koperty niezerową wybrana jest losowa wartość w zakresie koperty dla każdego punktu klucza, gdy emituje.

Odczyt równoległy

Właściwość Prędkość określa losowy zakres prędkości (od minimalnej do maksymalnej) przy których emitowane będą nowe cząstki, mierzone w szpilkach na sekundę.Prędkość każdej cząstki jest wybierana po emisji i ma zastosowanie w EmissionDirection.Wartości ujemne powodują, że cząstki podróżują w odwrotnym kierunku.

Zauważ, że zmiana Speed nie wpływa na aktywne cząstki i zachowują dowolną prędkość, jaką już mają.Jednak Acceleration , Drag i VelocityInheritance można użyć, aby wpłynąć na prędkość aktywnych cząstek w ciągu ich życia.

SpreadAngle

Odczyt równoległy

Właściwość SpreadAngle określa losowe kąty, w których można emitować cząstkę.Na przykład, jeśli EmissionDirection jest Górą (+ Y ), ten Vector2 opisuje rozmiar rozprzestrzeniania losowego kąta na osiach X / Z , w stopniach.

Ustawienie jednej osi na 360 spowoduje, że cząstki będą emitować we wszystkich kierunkach w kręgu .Ustawienie obu na 360 spowoduje, że cząstki będą emitować we wszystkich kierunkach w kuli .

Odczyt równoległy

Umożliwia nierównomierne skalowanie cząstek, kontrolowane przez ich żywotność.Wartości większe niż 0 powodują, że cząstki zarówno kurczą się poziomo, jak i rosną pionowo, podczas gdy wartości mniejsze niż 0 powodują, że cząstki zarówno rosną poziomo, jak i kurczą się pionowo.

Texture

ContentId
Odczyt równoległy

Właściwość Tekstura określa obraz renderowany na cząstkach.To obraz jest wpływany przez Color , Transparency , LightInfluence , i LightEmission .Tekstury z przezroczystym tłem działają najlepiej dla cząstek.

TimeScale

Odczyt równoległy

Wartość pomiędzy 0 a 1, która kontroluje prędkość efektu cząstek.Na 1 uruchamia się z normalną prędkością; na 0,5 uruchamia się w połowie prędkości; na 0 zamraża się w czasie.

Transparency

Odczyt równoległy

Właściwość Przezroczystość określa przejrzystość wszystkich aktywnych cząstek w czasie ich indywidualnego życia.Funkcjonuje podobnie do Size w sposób, w jaki wpływa na cząstki z czasem.Pod względem renderowania wartość 0 jest całkowicie widoczna (nieprzezroczysta) a wartość 1 jest całkowicie niewidoczna (w wszystkonie jest renderowana).

Obecna przejrzystość cząstki jest określana przez liniową interpolację na tej sekwencji za pomocą wieku cząstki i jej całkowitego czasu życia.Na przykład, jeśli cząstka pojawiła się 2 sekundy temu i ma żywotność 4 sekund, przejrzystość będzie taka, jak 50% drogi przez NumberSequence.Dla każdego NumberSequenceKeypoint z wartością koperty niezerową wybrana jest losowa wartość w zakresie koperty dla każdego punktu klucza, gdy emituje.

VelocityInheritance

Odczyt równoległy

Właściwość Nadrzędność prędkości określa, ile z rodzica części Velocity jest odziedziczone przez cząstki, gdy są emitowane.Wartość 0 oznacza, że żadna prędkość nie jest dziedziczona, podczas gdy wartość 1 oznacza, że cząstka będzie miała dokładnie taką samą prędkość jak rodzic BasePart .

Gdy jest używany w połączeniu z Drag, emiter cząstek może wydawać się "wyrzucać" cząstki z ruchającej się części.

WindAffectsDrag

Odczyt równoległy

Jeśli prawda, emitowane cząstki podążają za wektorem Workspace.GlobalWind. Działa tylko wtedy, gdy właściwość Drag jest większa niż 0.

ZOffset

Odczyt równoległy

Właściwość ZOffset określa pozycję renderowania wstecznego cząstek, w szpilkach, bez zmiany ich rozmiaru na ekranie.Po zmianie ta właściwość wpływa zarówno na obecne, jak i przyszłe cząstki.Zauważ, że ta właściwość akceptuje wartości frakcyjne; nie jest to jak GuiObject.ZIndex (całkowita liczba całkowita).

Pozytywne wartości przesuwają cząstki bliżej kamery, a negatywne wartości przesuwają cząstki dalej.Wystarczająco negatywne wartości mogą powodować, że cząstki renderują wewnątrz lub za częścią rodziczną.

Metody

Clear

()

Metoda Wyczyść natychmiast usuwa wszystkie istniejące cząstki, które zostały emitowane przez poprzez jego naturalną emisję (niezerowe na emiterze) lub za pomocą .


Zwroty

()

Przykłady kodu

This code sample causes a ParticleEmitter to ParticleEmitter:Emit() particles in bursts of 10 every 2 seconds. It ParticleEmitter:Clear()s any existing particles before doing so.

ParticleEmitter Burst

local emitter = script.Parent
while true do
emitter:Clear()
emitter:Emit(10)
task.wait(2)
end

Emit

()

Metoda Emit spowoduje, że ParticleEmitter natychmiast wyemituje podany numer cząstek.

Parametry

particleCount: number

Liczba cząstek do emisji.

Wartość domyślna: 16

Zwroty

()

Przykłady kodu

This code sample causes a parent ParticleEmitter to ParticleEmitter:Emit() particles based on how far the parent BasePart moves.

Emit Particles Over Distance

local RunService = game:GetService("RunService")
local emitter = script.Parent
local part = emitter.Parent
local PARTICLES_PER_STUD = 3
local lastPosition = part.Position
local distance = 0
local function onStep()
local displacement = part.Position - lastPosition
distance = distance + displacement.magnitude
local n = math.floor(distance * PARTICLES_PER_STUD)
emitter:Emit(n)
distance = distance - n / PARTICLES_PER_STUD
lastPosition = part.Position
end
RunService.Stepped:Connect(onStep)
emitter.Enabled = false

This code sample causes a ParticleEmitter to ParticleEmitter:Emit() particles in bursts of 10 every 2 seconds. It ParticleEmitter:Clear()s any existing particles before doing so.

ParticleEmitter Burst

local emitter = script.Parent
while true do
emitter:Clear()
emitter:Emit(10)
task.wait(2)
end

Zdarzenia