Jak tworzyć płytki izometryczne pochylone (wysokość)

11

Być może najlepiej to wyjaśnić obrazowo. Próbuję stworzyć grę izometryczną 2.5D. Moją wizją jest, aby gra wyglądała podobnie do mojego celu:

izometryczny krajobraz

Nie jestem grafikiem, więc mam problemy z tworzeniem „nachylonych” kafelków w celu symulacji terenu o różnej wysokości. Utworzenie podstawowej płytki izometrycznej było łatwe, wykonując następujące czynności:

  1. Utwórz kwadratową wersję kafelka o wymiarach 64 x 64
  2. Obróć o 45 stopni
  3. Zmniejsz wysokość o współczynnik 2

Tworzenie „nachylonych” płytek jest większym wyzwaniem. Mam do dyspozycji program Photoshop, ale daleko mi do eksperta w korzystaniu z niego. Oto mój obecny problem:

wprowadź opis zdjęcia tutaj

Nie jestem pewien, jak mogę manipulować wierzchołkami, w przeciwnym razie byłoby to łatwe, ale w zasadzie, aby uzyskać „przechyloną” płytkę z mojej podstawowej płytki izometrycznej, wystarczy przesunąć dolny i prawy wierzchołek o 16 pikseli w dół , podczas ustalania pozostałych dwóch wierzchołków. To wygeneruje kafelek, który chcę.

Jak łatwo to osiągnąć. Czy Photoshop jest do tego odpowiednim narzędziem? Jakieś sugestie?

Filip Jeremic
źródło
z jakiego systemu graficznego korzysta Twoja obecna wersja DirectX, OpenGL lub własności silnika? podstawową odpowiedzią byłoby przechowywanie wierzchołków, a następnie modyfikowanie wierzchołków zgodnie z potrzebami (możesz to zrobić jako tablica 8 wektorów), ale sposób dostarczania ich na ekran jest zwykle za pomocą narzędzia graficznego / biblioteki, takich jak directX, openGL
gardian06
Używam SFML do renderowania duszków na ekran, aby był to openGL. Przechowuję duszki jako kafelki 64x64 na dysku.
Filip Jeremic
@FilipJeremic, Hmm .. Czy to gra neopets?
Pacerier

Odpowiedzi:

3

Możesz tworzyć kafelki, jeśli chcesz - używając Photoshopa lub czegoś innego. Poleciłbym program do rysowania wektorowego, a nie program do rysowania pikselami (nie wiem wystarczająco dużo o Photoshopie itp., Aby wiedzieć, co on obecnie oferuje).

Osobiście sugeruję, abyś nie przejmował się tworzeniem kafelków, zamiast tego, aby gra narysowała je za pomocą interfejsu API do rysowania, będzie to o wiele łatwiejsze (zwłaszcza jeśli zdasz sobie sprawę, ile różnych ukośnych kafelków potrzebujesz).

MarkR
źródło
Nie jestem pewien, czy zgadzam się na to, aby gra renderowała dla ciebie kafelki, chyba że twój silnik / framework pozwoli ci to łatwo zrobić (w 2D)
John McDonald
3

Zachowaj kwadratowy obraz 64x64 jako źródło, aby uzyskać pochyłe wersje, najpierw pochyl obraz w dół po prawej stronie (aby dopasować do przykładu obrazu), a następnie obróć o 45 stopni i przeskaluj go w dół na wysokość. Rezultatem będzie nachylenie, którego szukasz (z odrobiną prób i błędów, ile skosu).

Biorąc pod uwagę, że wszystkie kroki (zmiana cieniowania, pochylania, obracania, skalowania) oprócz tworzenia początkowego kwadratu są dość proste, możesz rozważyć wykonanie tych kroków z openGL albo przy uruchamianiu gry, albo jako automatyczny krok w kompilacji proces (po prostu stwórz mały program, który może wykonać wszystkie wymagane zmiany / obrócenia i dodaj go do skryptu kompilacji).

Korzystanie z grafiki wektorowej byłoby prawdopodobnie pomysłem, jeśli chcesz kontynuować ręczne tworzenie każdej nachylonej płytki. Program Photoshop obsługuje warstwy wektorowe, więc nie musisz uczyć się nowego programu, aby tego spróbować.

Daniel Carlsson
źródło
Dlaczego korzystasz z Photoshopa zamiast Fireworks i etc?
Pacerier
@Pacerier Nie, oryginalne pytanie wspomniało o Photoshopie. Osobiście zacząłem używać Krity niedawno, przed tym Paint.net (którego nadal używam do szybszej pracy).
Daniel Carlsson