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?


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).


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ć.


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.