Manuals
Manuals




This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English

Particle FX

Efekty cząsteczkowe służą do wizualnego wzbogacania gier. Możesz ich używać do tworzenia eksplozji, rozprysków krwi, smug, efektów pogodowych lub innych efektów.

ParticleFX Editor

Efekty cząsteczkowe składają się z kilku emitterów i opcjonalnych modifierów:

Emitter
Emitter to umieszczony w przestrzeni kształt, który emituje cząsteczki równomiernie rozłożone na jego powierzchni. Emitter zawiera właściwości sterujące generowaniem cząsteczek, a także obraz lub animację, czas życia, kolor, kształt i prędkość poszczególnych cząsteczek.
Modifier
Modifier wpływa na prędkość wyemitowanych cząsteczek, dzięki czemu mogą przyspieszać lub zwalniać w określonym kierunku, poruszać się promieniowo albo wirować wokół punktu. Modifiery mogą działać na cząsteczki jednego emitera albo na cząsteczki całego efektu.

Tworzenie efektu

Wybierz New... ▸ Particle FX z menu kontekstowego w panelu Assets. Nadaj nowemu plikowi efektu nazwę. Edytor otworzy plik w Scene Editor.

Panel Outline pokazuje domyślny emitter. Zaznacz emitter, aby wyświetlić jego właściwości w panelu Properties poniżej.

Default particles

Aby dodać nowy emitter do efektu, right click root panelu Outline i wybierz Add Emitter ▸ [type] z menu kontekstowego. Możesz później zmienić typ emitera w jego właściwościach.

Aby dodać nowy modifier, right click miejsce w panelu Outline, w którym ma się on znaleźć (root efektu albo konkretny emitter), i wybierz Add Modifier, a następnie typ modifiera.

Add modifier

Add modifier select

Modifier umieszczony na rootcie efektu, a nie jako dziecko emitera, wpływa na wszystkie cząsteczki w efekcie.

Modifier dodany jako dziecko emitera wpływa tylko na cząsteczki tego emitera.

Podgląd efektu

  • Wybierz View ▸ Play z menu, aby podejrzeć efekt. Może być konieczne oddalenie kamery, żeby zobaczyć efekt poprawnie.
  • Wybierz ponownie View ▸ Play, aby wstrzymać efekt.
  • Wybierz View ▸ Stop, aby zatrzymać efekt. Ponowne uruchomienie zaczyna go od stanu początkowego.

Podczas edytowania emitera albo modifiera wynik jest od razu widoczny w edytorze, nawet jeśli efekt jest wstrzymany:

Edit particles

Emitter properties

Id
Identyfikator emitera, używany przy ustawianiu render constants dla konkretnych emitterów.
Position/Rotation
Transform emitera względem komponentu ParticleFX.
Play Mode
Określa sposób odtwarzania emitera:
  • Once zatrzymuje emitter po osiągnięciu czasu trwania.
  • Loop restartuje emitter po osiągnięciu czasu trwania.
Size Mode
Określa sposób skalowania animacji flipbook:
  • Auto zachowuje rozmiar każdej klatki flipbooka zgodny z obrazem źródłowym.
  • Manual ustawia rozmiar cząsteczki zgodnie z właściwością size.
Emission Space
Określa przestrzeń geometryczną, w której będą istnieć wyemitowane cząsteczki:
  • World sprawia, że cząsteczki poruszają się niezależnie od emitera.
  • Emitter sprawia, że cząsteczki poruszają się względem emitera.
Duration
Liczba sekund, przez które emitter powinien emitować cząsteczki.
Start Delay
Liczba sekund, jaką emitter powinien odczekać przed rozpoczęciem emisji cząsteczek.
Start Offset
Liczba sekund symulacji cząsteczek, od których emitter ma zacząć, czyli inaczej czas, przez jaki emitter powinien wstępnie rozgrzać efekt.
Image
Plik obrazu, czyli Tile source albo Atlas, używany do teksturowania i animowania cząsteczek.
Animation
Animacja z pliku Image, która ma być używana na cząsteczkach.
Material
Materiał używany do cieniowania cząsteczek.
Blend Mode
Dostępne tryby mieszania to Alpha, Add i Multiply.
Max Particle Count
Liczba cząsteczek pochodzących z tego emitera, które mogą istnieć jednocześnie.
Emitter Type
Kształt emitera:
  • Circle emituje cząsteczki z losowego miejsca wewnątrz koła. Cząsteczki są kierowane na zewnątrz od środka. Średnicę koła określa Emitter Size X.

  • 2D Cone emituje cząsteczki z losowego miejsca wewnątrz płaskiego stożka (trójkąta). Cząsteczki są kierowane na zewnątrz z górnej części stożka. Emitter Size X określa szerokość górnej części, a Y określa wysokość.

  • Box emituje cząsteczki z losowego miejsca wewnątrz pudełka. Cząsteczki są kierowane w górę wzdłuż lokalnej osi Y pudełka. Emitter Size X, Y i Z określają odpowiednio szerokość, wysokość i głębokość. W przypadku prostokąta 2D ustaw rozmiar Z na zero.

  • Sphere emituje cząsteczki z losowego miejsca wewnątrz sfery. Cząsteczki są kierowane na zewnątrz od środka. Średnicę sfery określa Emitter Size X.

  • Cone emituje cząsteczki z losowego miejsca wewnątrz stożka 3D. Cząsteczki są kierowane na zewnątrz przez górny dysk stożka. Emitter Size X określa średnicę górnego dysku, a Y określa wysokość stożka.

emitter types

Particle Orientation
Sposób orientacji wyemitowanych cząsteczek:
  • Default ustawia orientację na jednostkową.
  • Initial Direction zachowuje początkową orientację wyemitowanych cząsteczek.
  • Movement Direction dostosowuje orientację cząsteczek do ich prędkości.
Inherit Velocity
Wartość skali określająca, ile prędkości emitera mają odziedziczyć cząsteczki. Ta wartość jest dostępna tylko wtedy, gdy Space jest ustawione na World. Prędkość emitera jest szacowana w każdej klatce.
Stretch With Velocity
Zaznacz, aby skalować rozciągnięcie każdej cząsteczki w kierunku ruchu.

Blend modes

Właściwość Blend Mode określa, w jaki sposób grafika komponentu ma być mieszana z grafiką znajdującą się za nią. Poniżej przedstawiono dostępne tryby mieszania i sposób ich obliczania:

Alpha
Normalne blendowanie: src.a * src.rgb + (1 - src.a) * dst.rgb
Add
Rozjaśnia tło wartościami kolorów odpowiednich pikseli komponentu: src.rgb + dst.rgb
Multiply
Przyciemnia tło wartościami kolorów odpowiednich pikseli komponentu: src.rgb * dst.rgb
Screen
Odwrotność Multiply. Rozjaśnia tło i wartości kolorów odpowiednich pikseli komponentu: src.rgb - dst.rgb * dst.rgb

Keyable emitter properties

Te właściwości mają dwa pola: wartość i spread. Spread to odchylenie stosowane losowo do każdej wyemitowanej cząsteczki. Na przykład, jeśli wartość wynosi 50, a spread 3, każda wyemitowana cząsteczka otrzyma wartość od 47 do 53 (50 +/- 3).

Property

Po zaznaczeniu przycisku key wartością właściwości steruje krzywa w czasie trwania emitera. Aby zresetować właściwość z kluczem, odznacz przycisk key.

Property keyed

The Curve Editor (dostępny w zakładkach w dolnym widoku) służy do modyfikowania krzywej. Właściwości z kluczem nie można edytować w widoku Properties, tylko w Curve Editor. Click and drag punkty i styczne, aby zmienić kształt krzywej. Double-click na krzywej dodaje punkty kontrolne. Aby usunąć punkt kontrolny, double click go.

ParticleFX Curve Editor

Aby automatycznie dopasować Curve Editor do wszystkich krzywych, naciśnij F.

Poniższe właściwości można kluczować w czasie trwania emitera:

Spawn Rate
Liczba cząsteczek emitowanych na sekundę.
Emitter Size X/Y/Z
Wymiary kształtu emitera, zobacz Emitter Type powyżej.
Particle Life Time
Czas ż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 Size Mode na Auto i użyjesz animacji flipbook jako źródła obrazu, ta właściwość jest ignorowana.
Initial Red/Green/Blue/Alpha
Początkowe wartości składowych koloru cząsteczek.
Initial Rotation
Początkowe wartości rotacji cząsteczek w stopniach.
Initial Stretch X/Y
Początkowe wartości rozciągnięcia cząsteczek w jednostkach.
Initial Angular Velocity
Początkowa prędkość kątowa każdej wyemitowanej cząsteczki w stopniach na sekundę.

Poniższe właściwości można kluczować w czasie życia cząsteczek:

Life Scale
Wartość skali w całym życiu każdej cząsteczki.
Life Red/Green/Blue/Alpha
Wartość składowych koloru w całym życiu każdej cząsteczki.
Life Rotation
Wartość rotacji każdej cząsteczki w stopniach w trakcie jej życia.
Life Stretch X/Y
Wartość rozciągnięcia każdej cząsteczki w jednostkach w trakcie jej życia.
Life Angular Velocity
Prędkość kątowa każdej cząsteczki w stopniach na sekundę w trakcie jej życia.

Modifiers

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

Acceleration
Przyspieszenie w ogólnym kierunku.
Drag
Zmniejsza przyspieszenie cząsteczek proporcjonalnie do ich prędkości.
Radial
Przyciąga cząsteczki do pozycji albo je od niej odpycha.
Vortex
Wpływa na cząsteczki ruchem po okręgu lub spiralą wokół swojej pozycji.

modifiers

Modifier properties

Position/Rotation
Transform modifiera względem jego rodzica.
Magnitude
Siła działania modifiera na cząsteczki.
Max Distance
Maksymalna odległość, w której cząsteczki są w ogóle objęte działaniem tego modifiera. Używane tylko przez Radial i Vortex.

Kontrolowanie efektu cząsteczkowego

Aby uruchomić i zatrzymać efekt cząsteczkowy ze skryptu:

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

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

Aby uruchomić i zatrzymać efekt cząsteczkowy ze skryptu GUI, zobacz więcej w instrukcji GUI Particle FX.

Efekt cząsteczkowy będzie nadal emitował cząsteczki, nawet jeśli obiekt gry, do którego należał komponent efektu cząsteczkowego, zostanie usunięty.

Zobacz dokumentację referencyjną Particle FX, aby uzyskać więcej informacji.

Material constants

Domyślny materiał efektu cząsteczkowego ma następujące constants, które można zmieniać za pomocą particlefx.set_constant() i resetować za pomocą particlefx.reset_constant() (zobacz instrukcję Material po więcej szczegółów):

tint
Odcień koloru efektu cząsteczkowego (vector4). Vector4 służy do reprezentowania odcienia przez wartości x, y, z i w odpowiadające kolejno czerwieni, zieleni, niebieskiemu i alfie. Zobacz przykład w dokumentacji API.

Konfiguracja projektu

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