Read this manual in English

Efekty cząsteczkowe (Particle FX)

Efekty cząsteczkowe (ang. particle effects) to wydajne elementy wizualne złożone z wielu powtarzalnych lub nie elementów (cząsteczek) i służą do wizualnego wzbogacania gier. Możesz ich używać do tworzenia eksplozji, rozprysku krwi, śladów, efektów pogodowych i wielu innych.

Edytor ParticleFX

Efekty cząsteczkowe składają się z wielu emiterów (emitters) i opcjonalnych modyfikatorów (modifiers):

Emitter
Emiter to umieszczony w przestrzeni kształt, który emituje cząsteczki równomiernie rozłożone na powierzchni tego kształtu. Emiter zawiera właściwości, które kontrolują generowanie cząsteczek oraz obraz lub animację, czas życia, kolor, kształt i prędkość poszczególnych cząstek.
Modifier
Modyfikator wpływa na prędkość generowanych cząsteczek, sprawiając, że przyspieszają lub zwalniają w określonym kierunku, poruszają się promieniowo lub krążą wokół punktu. Modyfikatory mogą wpływać na pojedyncze cząsteczki jednego lub każdego emitera.

Tworzenie efektu cząsteczkowego

Wybierz opcję New... ▸ Particle FX z menu kontekstowego w panelu Assets. Nadaj nowemu plikowi efektu cząsteczkowego nazwę. Edytor zostanie teraz otwarty w pliku z użyciem Edytora Sceny.

W panelu Outline wyświetlany jest domyślny emiter. Wybierz emiter, aby wyświetlić jego właściwości w dolnym panelu Properties (Właściwości).

Domyślne cząsteczki

Aby dodać nowy emiter do efektu, kliknij prawym przyciskiem myszy na korzeniu (root) w panelu Outline i wybierz Add Emitter ▸ [type] z menu kontekstowego. Zauważ, że można nawet później zmienić typ emitera w jego właściwościach.

Aby dodać nowy modyfikator, kliknij prawym przyciskiem myszy w miejscu modyfikatora w panelu Outline (korzeń efektu lub konkretny emiter) i wybierz Add Modifier, a następnie wybierz typ modyfikatora.

Dodaj modyfikator

Wybór modyfikatora

Modyfikator osadzony na korzeniu efektu (nie jest dzieckiem emitera) wpływa na wszystkie cząsteczki w efekcie.

Modyfikator, który jest dodany jako dziecko emitera, wpływa tylko na cząsteczki tego emitera.

Podgląd efektu

  • Wybierz opcję View ▸ Play z menu, aby zobaczyć podgląd efektu. Być może będziesz musiał oddalić kamerę, aby właściwie zobaczyć efekt.
  • Wybierz ponownie View ▸ Play, aby zapauzować efekt.
  • Wybierz View ▸ Stop aby zatrzymać efekt. Ponowne uruchomienie go rozpoczyna od jego stanu początkowego.

Podczas edytowania emitera lub modyfikatora, wynik jest natychmiast widoczny w edytorze, nawet gdy efekt jest zatrzymany:

Edytowanie efektów

Właściwości emitera

Id
Identyfikator emitera (używany przy ustawianiu stałych renderowania dla określonych emiterów).
Position/Rotation
Transformacja emitera względem komponentu ParticleFX.
Play Mode
Tryb Odtwarzania - kontroluje sposób odtwarzania emitera:
  • Once zatrzymuje emitera po osiągnięciu swojego czasu trwania.
  • Loop ponownie uruchamia emitera po osiągnięciu czasu trwania.
Size Mode
Tryb Rozmiaru - kontroluje, jak będą skalowane animacje poklatkowe atlasu:
  • Auto - Automatyczny - zachowuje rozmiar każdej klatki animacji atlasu zgodnie z obrazem źródłowym.
  • Manual - Manualny - ustawia rozmiar cząsteczki zgodnie z właściwością rozmiaru.
Emission Space
Przestrzeń Emisji - w jakiej przestrzeni będą istniały generowane cząsteczki:
  • World - Przestrzeń Świata - przemieszcza cząsteczki niezależnie od emitera.
  • Emitter - Przestrzeń Emitera przemieszcza cząsteczki względem emitera.
Duration
Czas Trwania - liczba sekund, przez które emiter powinien emitować cząsteczki.
Start Delay
Opóźnienie Początku Emitowania - liczba sekund, na którą emiter powinien poczekać przed emisją cząsteczek.
Start Offset
Odsunięcie Początku Emitowania - liczba sekund, po której symulacji cząsteczki emiter powinien rozpocząć, innymi słowy, jak długo emiter powinien “rozgrzewać” efekt.
Image
Plik obrazu (Źródło Kafelków lub Atlas), który ma służyć do teksturyzacji i animacji cząsteczek.
Animation
Animacja z pliku Image, która ma być używana na cząsteczkach.
Material
Materiał do użycia do cieniowania (shading) cząsteczek.
Blend Mode
Dostępne tryby mieszania to Alpha, Add i Multiply.

Max Particle Count Maksymalna Liczba Cząsteczek - liczba cząstek pochodzących z tego emitera, która może istnieć jednocześnie.

Emitter Type
Typ kształtu emitera
  • Circle - Koło - emituje cząsteczki z losowej lokalizacji wewnątrz koła. Cząsteczki są skierowane na zewnątrz od centrum. Średnicę koła definiuje Emitter Size X.

  • 2D Cone - Stożek 2D - emituje cząsteczki z losowej lokalizacji wewnątrz płaskiego stożka (trójkąta). Cząsteczki są skierowane do góry stożka. Emitter Size X definiuje szerokość góry, a Emitter Size Y definiuje wysokość.

  • Box - Sześcian - emituje cząsteczki z losowej lokalizacji wewnątrz sześcianu. Cząsteczki są skierowane w górę wzdłuż osi Y sześcianu. Emitter Size X, Y i Z definiują odpowiednio szerokość, wysokość i głębokość. Dla prostokąta 2D zachowaj rozmiar Z na zero.

  • Sphere - Sfera - emituje cząsteczki z losowej lokalizacji wewnątrz kuli. Cząsteczki są skierowane na zewnątrz od centrum. Średnicę kuli definiuje Emitter Size X.

  • Cone - Stożek - emituje cząsteczki z losowej lokalizacji wewnątrz stożka 3D. Cząsteczki kierują się na zewnątrz przez szeroki dysk stożka. Emitter Size X definiuje średnicę szerokiego dysku, a Emitter Size Y definiuje wysokość stożka.

Typy kształtów emiterów

Particle Orientation
Orientacja Cząsteczek - jak są ustawione cząsteczki emitowane:
  • Default - Domyślna - ustawia orientację na orientację jednostkową.
  • Initial Direction - Początkowy Kierunek - zachowuje początkową orientację emitowanych cząsteczk.
  • Movement Direction - Kierunek Ruchu - dostosowuje orientację cząsteczek zgodnie z ich prędkością.
Inherit Velocity
Dziedziczenie Prędkości - skalowany współczynnik, który określa, ile cząsteczki powinny dziedziczyć z prędkości emitera. Ta wartość jest dostępna tylko wtedy, gdy Emission Space jest ustawiona na World. Prędkość emitera jest obliczana co klatkę.

Stretch With Velocity Rozciągnięcie z Prędkością - zaznacz, aby skalować rozciągnięcie cząsteczek w kierunku ruchu.

Tryby Mieszania

Właściwość Blend Mode określa w jaki sposób graficzne komponenty mają być ze sobą mieszane, czyli wyświetlane w momencie nakładania się dwóch obrazów na siebie. Oto dostępne tryby blendowania i wyjaśnienie w jaki sposób są obliczane kolory:

Alpha
Normalne blendowanie: src.a * src.rgb + (1 - src.a) * dst.rgb
Add
Rozświetl grafikę w tle wartościami kolorów z grafiki na przednim planie: src.rgb + dst.rgb
Multiply
Zaciemnij grafikę w tle wartościami kolorów z grafiki na przednim planie: src.rgb * dst.rgb

Kluczowe właściwości emitera

Te właściwości mają dwa pola: wartość (value) i rozprzestrzenienie (spread). Rozprzestrzenienie to zmienna losowa, która jest stosowana losowo dla każdej wygenerowanej cząsteczki. Na przykład, jeśli wartość wynosi 50, a rozprzestrzenienie wynosi 3, każda wygenerowana cząsteczka otrzyma wartość między 47 a 53 (50 +/- 3).

właściwości

Zaznaczając przycisk klucza (key button), wartość właściwości jest kontrolowana za pomocą krzywej w trakcie trwania emitera. Aby zresetować właściwość z klucza, odznacz przycisk klucza.

właściwości z kluczem

Edytor Krzywej Curve Editor (dostępny w zakładkach w dolnym widoku) służy do modyfikacji krzywej. Właściwości z kluczem nie mogą być edytowane w widoku Properties , tylko w Edytorze Krzywej właśnie. Kliknij i przeciągnij punkty i styczne, aby zmodyfikować kształt krzywej. Podwójne kliknięcie na krzywej dodaje punkty kontrolne. Aby usunąć punkt kontrolny, podwójnie kliknij na niego.

Edytor Krzywej

Aby automatycznie przybliżyć Edytor Krzywej w celu wyświetlenia wszystkich krzywych, naciśnij F.

Następujące właściwości można regulować w czasie trwania emitera:

Spawn Rate
Częstotliwość Emisji - liczba cząsteczek do wyemitowania na sekundę.
Emitter Size X/Y/Z
Rozmiar Emitera X/Y/Z - wymiary kształtu emitera, zobacz szczegóły prz opisie Emitter Type powyżej.
Particle Life Time
Czas Życia Cząsteczki - długość życia każdej wyemitowanej cząsteczki, w sekundach.
Initial Speed
Początkowa Prędkość każdej wyemitowanej cząsteczki.
Initial Size
Początkowy Rozmiar każdej wyemitowanej cząsteczki. Jeśli ustawisz Tryb Rozmiaru Size Mode na Automatic i użyjesz animacji atlasu jako źródła obrazu, to właściwość ta jest ignorowana.
Initial Red/Green/Blue/Alpha
Początkowe wartości składowych koloru dla cząsteczek, odpowiednio: Czerwony, Zielony, Niebieski, Alfa.
Initial Rotation
Początkowe wartości obrotu (w stopniach) dla cząsteczek.
Initial Stretch X/Y
Początkowe wartości rozciągnięcia (w jednostkach) dla cząsteczek.
Initial Angular Velocity
Początkowa prędkość kątowa (w stopniach/sekundę) każdej wyemitowanej cząsteczki.

Następujące właściwości można regulować w trakcie życia cząsteczek:

Life Scale
Skala - wartość skali w trakcie życia każdej cząsteczki.
Life Red/Green/Blue/Alpha
Wartość odcienia koloru w trakcie życia każdej cząsteczki, odpowiednio: Czerwony, Zielony, Niebieski, Alfa.
Life Rotation
Wartość obrotu (w stopniach) w trakcie życia każdej cząsteczki.
Life Stretch X/Y
Wartość rozciągnięcia (w jednostkach) w trakcie życia każdej cząsteczki.
Life Angular Velocity
Prędkość kątowa (w stopniach/sekundę) w trakcie życia każdej cząsteczki.

Modyfikatory

Dostępne są cztery rodzaje modyfikatorów, które wpływają na prędkość cząsteczek:

Acceleration
Przyspieszenie w ogólnym kierunku.
Drag
Opór - zmniejsza przyspieszenie cząsteczek proporcjonalnie do prędkości cząsteczki.
Radial
Przyciąga lub odpycha cząsteczki w kierunku lub z dala od określonej pozycji dookoła.
Vortex
Wir - wpływa na cząsteczki w kierunku okręgu lub spiralnie wokół swojej pozycji.

modyfikatory

Właściwości Modyfikatora

Position/Rotation
Pozycja/Obrót - transformacja modyfikatora względem swojego rodzica.
Magnitude
Wielkość wpływy modyfikatora na cząsteczki.
Max Distance
Maksymalna odległość, w jakiej cząsteczki są w ogóle brane pod uwagę przez ten modyfikator. Dotyczy tylko modyfikatorów Radial i Vortex.

Kontrola efektu cząsteczkowego

Aby uruchomić i zatrzymać efekt cząsteczkowy z poziomu skryptu:

-- uruchom komponent efektu "cząsteczki" w bieżącym obiekcie gry
particlefx.play("#particles")

-- zatrzymaj komponent efektu "cząsteczki" w bieżącym obiekcie gry
particlefx.stop("#particles")

Efekt cząsteczkowy będzie nadal emitować cząsteczki nawet wtedy, gdy obiekt gry, do którego należy komponent efektu cząsteczkowego, zostanie usunięty.

Zobacz szczegóły w [dokumentacji Efektów Cząsteczkowych]](/ref/particlefx).

Stałe materiału

Domyślny materiał Efektu cząsteczkowego posiada następujące stałe, które można zmieniać za pomocą particlefx.set_constant() i resetować za pomocą particlefx.reset_constant() (zobacz szczegóły w instrukcji do Materiałów):

tint
Kolor odcienia efektu cząsteczkowego (vector4). Wektor 4-składnikowy jest używany do reprezentowania odcienia koloru, gdzie X, Y, Z i W odpowiadają czerwieni, zieleni, niebieskiemu i odcieniowi alfa. Więcej szczegółów w dokumentacji API.

Konfiguracja projektu

Plik game.project zawiera kilka ustawień projektu związanych z cząsteczkami.