Skocz do zawartości

Podstawy 3D


kriso99

Rekomendowane odpowiedzi

Heejjj wszystkim po mojej dłuuugiej przerwie.

Potrzebuje pomocy w 3D nie wiem wg z czym to sie je, planuje gre TPS.

Na co uwazac gdy robie 3d, jakies wspaniale tipy do optymalizacji, texturowanie itp.

Jezeli ktos sie jakos zna to prosze krok po kroku co jak robic

Odnośnik do komentarza
Udostępnij na innych stronach

Jeżeli nie pomyliłeś działu to odpowiedź brzmi: nie rób tego.

GameMaker nie wspiera 3D w żaden sposób poza rysowaniem poligonów i kamerą.

 

Nie ma sprawdzania kolizji 3D, wszystkie kolizje są dalej 2D.

Nie ma cieni.

Są tylko podstawowe światła.

Nie ma animacji modeli. W ogóle nie ma modeli. GM "modelem" nazywa zbiór poligonów. Nie da się od tak po prostu wczytać modelu z Maya albo Blenera bo trzeba go przerobić na instrukcje GameMakera.

Odnośnik do komentarza
Udostępnij na innych stronach

To jest walka z wiatrakami ale jak jednak nie boisz się wyzwania i chcesz pisać wszystko od zera to proszę bardzo :P

Będziesz musiał poznać dobrze geometrię 3D, techniki sprawdzania kolizji. Zapoznać się z operacjami na wektorach, tutaj mogę polecić stronkę: http://www.gamedev.net/page/resources/_/te...-in-games-r2968

Dalej jak działa UV mapping i vektory normalne na modelach ta wiedza ci zaoszczędzi kłopotów z tworzeniem własnych modeli. Nauczyć się transformacji tych wbudowanych d3d_transform_* to akurat trudne zagadnienie nie jest. A bardzo przydatne do tworzenia animacji szkieletowych.

O wbudowanym oświetleniu zapomnij, obsługuje tylko 8 świateł na raz i nie rzuca cieni. Trzeba obsługę świateł napisać własną używając do tego shaderów. To samo się tyczy jak chcesz jakiś bump mapping itp bajery graficzne.

 

A jak zacząć? Myślę że najlepiej będzie zrobić jakąś prostą grę 2D, w której kolizje będą liczone standardowo w 2 wymiarach ale stworzyć ją w grafice 3D.

Spróbuj przenieść na 3 wymiar jakiegoś pacmana czy coś.

 

Odnośnik do komentarza
Udostępnij na innych stronach

Mój post może się wydawać niepotrzebny, ale wolę abyś widział jeszcze jeden post sprzeciwu.

To głupi pomysł.

Jeżeli chcesz 3D spróbuj z Unity, mamy od niedawna dział od tego, coraz więcej osób tutaj z niego korzysta.

 

Jeżeli nie pomyliłeś działu to odpowiedź brzmi: nie rób tego.

GameMaker nie wspiera 3D w żaden sposób poza rysowaniem poligonów i kamerą.

 

Nie ma sprawdzania kolizji 3D, wszystkie kolizje są dalej 2D.

Nie ma cieni.

Są tylko podstawowe światła.

Nie ma animacji modeli. W ogóle nie ma modeli. GM "modelem" nazywa zbiór poligonów. Nie da się od tak po prostu wczytać modelu z Maya albo Blenera bo trzeba go przerobić na instrukcje GameMakera.

 

Odnośnik do komentarza
Udostępnij na innych stronach

GameMaker nie wspiera 3D w żaden sposób poza rysowaniem poligonów i kamerą.
no i tyle chyba na razie wystarczy, ważne że obsługuje androida i multiplayer :P

 

Nie ma sprawdzania kolizji 3D, wszystkie kolizje są dalej 2D.
nie potrzebuje

 

Nie ma cieni.
no ciężko ale dam sobie rade jakoś łopatoligicznie, juz jakiś gościu widziałem ładnie zrobił i to prostym sposobem

 

Są tylko podstawowe światła.
myśle że wystarczy, do tego juz mam ładny outline brył wiec wygląda lekko lepiej

 

Nie ma animacji modeli. W ogóle nie ma modeli. GM "modelem" nazywa zbiór poligonów. Nie da się od tak po prostu wczytać modelu z Maya albo Blenera bo trzeba go przerobić na instrukcje GameMakera.
damy rade, nie potrzebuje az tylu modeli

 

Nauczyć się transformacji tych wbudowanych d3d_transform_* to akurat trudne zagadnienie nie jest
no fakt, nie jest :P

O wbudowanym oświetleniu zapomnij, obsługuje tylko 8 świateł na raz i nie rzuca cieni. Trzeba obsługę świateł napisać własną używając do tego shaderów
wolał bym raczej tego unikać :/

To samo się tyczy jak chcesz jakiś bump mapping itp bajery graficzne.
no przydało by sie, ale ostatecznie zobacze jak mi coś fps'ów wg. zostanie

 

no i teraz mam pytanie:

jak zmienić rozdzielczość wyświetlanej gry nie psując przy tym jakości?

no i do czego dokładnie sa te funkcje do inicjowania:

GML
d3d_start()

d3d_set_lighting(false)

d3d_set_culling(true)

d3d_set_hidden(true)

texture_set_interpolation(false)

Odnośnik do komentarza
Udostępnij na innych stronach

GML
d3d_start() // inicjuje tryb 3D, bez tego nie działa perspektywa

d3d_set_lighting(false) /* włącza wyłącza obsługę tego dziadowskiego oświetlenia,

jeżeli włączysz to ustaw jeszcze d3d_light_define_ambient( color ) To jest kolor całkowitej ciemności.*/

 

d3d_set_culling(true) // tekstury są dwustronne (false) jednostronne (true)

d3d_set_hidden(true) // korekcja depth. Przy rysowaniu GUI zwykle się to wyłącza żeby modele przypadkiem nie zakryły GUI

texture_set_interpolation(false) // wygładza textury, jak chcesz widzieć pixele to ustawiasz false

Odnośnik do komentarza
Udostępnij na innych stronach

GML
d3d_start() // inicjuje tryb 3D, bez tego nie działa perspektywa

d3d_set_lighting(false) /* włącza wyłącza obsługę tego dziadowskiego oświetlenia,

jeżeli włączysz to ustaw jeszcze d3d_light_define_ambient( color ) To jest kolor całkowitej ciemności.*/

 

d3d_set_culling(true) // tekstury są dwustronne (false) jednostronne (true)

d3d_set_hidden(true) // korekcja depth. Przy rysowaniu GUI zwykle się to wyłącza żeby modele przypadkiem nie zakryły GUI

texture_set_interpolation(false) // wygładza textury, jak chcesz widzieć pixele to ustawiasz false</span>

ok, dzieki, a co z rozdzielczością?

bo w 2d zmianiałem parametry view_wview i view_wport itp. a jak to sie ma w 3d?

 

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...