Chcę stworzyć grę 2D, ale chciałbym, aby postać nosiła mnóstwo różnych urządzeń w różnych kombinacjach, takich jak RPG lub coś takiego.
Powiedzmy, że użytkownik zmienia ramiona i spodnie, musi to zostać pokazane graczowi, a wszystkie te różne urządzenia muszą podążać za akcją różnych postaci (uderzenie, trafienie, magia pisowni itp.).
Widzę kilka problemów, które chciałbym poznać najlepsze podejście / algorytm / architektura do rozwiązania.
1 - Duszki lub animacje
Czy powinienem tworzyć różne duszki dla każdego sprzętu w każdej animacji akcji?
Czy lepiej jest mieć sprite sprzętu i animować go bezpośrednio w kodzie, np. Obracanie i tłumaczenie (używając czegoś takiego jak tween we Flashu)?
Czy jest jakaś inna lepsza opcja? (Naprawdę nie lubię powyższych pomysłów)
2 - pozycje
Powiedzmy, że podczas jednego z ruchów postaci zaczyna patrzeć bezpośrednio przed wzrokiem gracza, ale kończy swój ruch pokazując swoją prawą stronę graczowi (tak jakby machał mieczem z jednej strony na drugą).
Jeśli weźmiemy pod uwagę jedną część użytkownika, na przykład jego głowę, zaczyna się ona z przodu, a następnie skręca w lewo.
Oznacza to co najmniej 3 różne pozycje dla każdego wyposażenia głowy (hełm, czapka, cokolwiek).
To z pewnością wpływa na odpowiedź na pytanie nr 1. Jak najlepiej to osiągnąć?
3 - warstwy
Rozważmy ruch postaci, w której obraca się o 360 stopni z otwartymi ramionami. Na początku animacji jego prawa ręka znajduje się blisko widoku użytkownika, a następnie, w środku ruchu, prawdopodobnie znajduje się za ciałem postaci na animacji.
Jakakolwiek jest opcja w pytaniu nr 1, z pewnością musisz użyć jakiegoś modelu warstwowego, aby ta ikonka lub animacja zaczęła być bliżej widoku gracza, a później zmienić go z dala od widoku gracza.
Czy jest na to dobry sposób?
Wiem, że pytanie jest dość długie i trudne do zrozumienia. Daj mi znać, jeśli uważasz, że lepiej jest mieć kilka rysunków, aby spróbować wyjaśnić, który z nich, a ja spróbuję to zrobić.
Odpowiedzi:
Myślę, że brzmi to tak, jakbyś szukał szkieletowego systemu animacji 2D? Niestety nie znam żadnych gotowych systemów, ponieważ zostały one w większości zastąpione przez trend w grach 3D-gfx-but-2D.
źródło
Jak mówi Zorba, większość gier w stylu retro nie zrobiła tego specjalnie, ponieważ potrzebowałbyś (ze spritami) animacji wielu klatek dla każdego elementu wyposażenia.
Niektóre „leniwe” alternatywy:
źródło
W starych grach, takich jak seria Ultima, rzeczywiście rysowali jeden ekwipunek w każdej możliwej pozie postaci. Okluzją można się zająć, nie wyciągając sprzętu (jeśli lewa rękawica znajduje się za ikoną gracza, nie musisz się tym martwić) lub po prostu wyciągając sprzęt w kolejności od tyłu do przodu.
Oczywiście było to bardzo pracochłonne, w wyniku czego było stosunkowo niewiele unikatowego sprzętu, z wieloma wersjami tego sprzętu zmienianymi i zmienianymi paletami.
W nowoczesnej grze zdecydowanie polecam tworzenie postaci 3d. Jeśli chcesz sztuki w 2D, lub Twoja platforma nie ma mocy rzeczywistego 3D, prawdopodobnie lepiej będzie modelować wszystko w 3D, renderować, a następnie ręcznie modyfikować końcowy wynik.
Alternatywnie, jeśli zdecydujesz, że nie potrzebujesz poprawiania, nie masz mocy do pełnego 3D, ale nie chcesz wysyłać ogromnej biblioteki ikonek, możesz spakować modele 3D i renderować je do tekstury w czasie rzeczywistym, gdy wiesz, że model pojawi się w grze.
źródło
Sprawdź książkę Jamesa Da Silvy, w której wyjaśnia, jak zrobił zmywarkę do naczyń: Dead Samurai. Pokaże ci, jak KISS może to rozwiązać. Sugestia korzystania z animacji szkieletowych 3d lub 2d jest poprawna i trochę w tej samej sferze.
źródło
To świetne pytanie, ale myślę, że sam na nie odpowiedziałeś - potrzebujesz systemu kości 2D, który obsługuje zmieniające się kości, aby różne kończyny mogły przesuwać się do przodu i do tyłu w miarę obracania się postaci. Będziesz także musiał narysować swoje duszki pod 4 lub 8 kątami (lub dowolną liczbą, której potrzebujesz). W zależności od umiejętności w zespole tworzenie tych zasobów w 3D może być łatwiejsze i renderowane pod kątem, którego potrzebujesz.
Korzystanie z silnika 3D jest również dobrym rozwiązaniem, choć przyniesie to własny zestaw wyzwań.
źródło