Jak więc mógłbym zacząć tworzyć taki efekt? Czy mówimy o programach do cieniowania pikseli, trybach mieszania / filtrach, efektach bitmapowych, systemach cząsteczek czy co? Niezbyt specyficzne dla platformy. Po prostu szukam teorii, ale konkretne przykłady lub linki byłyby świetne. Im więcej szczegółów, tym lepiej.
Wszystkie powyższe.
Jeśli nie przejrzysz ich kodu źródłowego, możesz nie wiedzieć dokładnie, jak to zrobili.
Jednak z wyglądu obu gier obie mają coś, co wydaje się być połączoną geometrią i śledzi statek. Niekoniecznie musi być podstawowym układem cząstek punktowych, ale nie jest to wcale takie trudne.
Niektóre gry wykorzystują algorytm linii zakrzywionej i generują z niego listę wierzchołków oraz wykonują trochę teksturowania z różnymi teksturami zastosowanymi w dwóch punktach końcowych szlaku, aby w jednym punkcie wydech wyglądał na gorący, a w drugim był chłodniejszy i odchodzi w kosmos.
Statek gracza jest interesującym przypadkiem, ponieważ ruchy są nieprzewidywalne i może być konieczna aktualizacja punktów kontrolnych algorytmu krzywej lub próbkowanie najnowszej pozycji statku i wygenerowanie na tej podstawie pozycji wierzchołków.
Spójrz na tę odpowiedź z wcześniejszego pytania, jeśli chcesz mieć coś, co działa poza punktami kontrolnymi. Jednak dla twoich potrzeb próbkowanie pozycji graczy prawdopodobnie działałoby znacznie lepiej i byłoby łatwiejsze do zrozumienia.
Oto coś, co sprawi, że zaczniesz myśleć:
Rozpocznij próbkowanie pozycji gracza. Punkty te utworzą segmenty bryły szlaku, z których można zbudować geometrię. Dobrym pomysłem jest utrzymanie osobnego segmentu ogona, który ma osobną teksturę. Możesz chcieć wykryć, kiedy gracz się obraca i zwiększyć częstotliwość tych segmentów, w przeciwnym razie uzyskasz blokowe krzywe. Chyba że taki jest efekt :)
W niektórych przypadkach segmenty muszą przestać się generować, a istniejące powinny powoli się zmniejszać, zaczynając od segmentu ciała znajdującego się najbliżej ogona (ale nie samego ogona). Dzieje się tak w przypadku spowolnienia gracza. Ale jeśli prędkość, z jaką pomniejszane są segmenty, odpowiada prędkości statku gracza, nowy segment zostanie utworzony w samą porę, gdy zostanie wyjęty. Działa to również dobrze w przypadku statku w pełnym ruchu. Długość szlaku zawsze będzie taka sama - co daje płynny, spójny strumień.
Segment głowa powinna być zawsze w aktualnej pozycji gracza. Jeśli zostaną wykryte jakiekolwiek obroty, istniejący segment głowy zostanie dodany do segmentu ciała i rozpocznie się nowy segment głowy. Powtarzać. W zależności od tekstury, każdy segment może mieć również maksymalną długość.
To daje nam łatwy sposób na modelowanie tego efektu: odpracowanie idei, że efekt zawsze będzie sam się zmniejszał / kurczył, chyba że dostarczonych zostanie więcej segmentów, i bawiliśmy się z szybkościami, aby zapobiec jego kurczeniu.