Fastbar
Powrót do strony głównej
Trzymaj pliki na gmclan.org!
Game Maker w pytaniach i odpowiedziach!
Polska dokumentacja
Tabela wyników ligi 24
Pobierz GM
Akademia GMCLANu
Kategorie bazy artykułów
Artykuły -> Game Maker -> Kursy GML
Treść artykułu
Obsługa 3D w GM6
autor: Marmot (18.09.04)
Ten artykuł jest bardziej przeznaczony dla osób którym nie chce się tłumaczyć helpa, albo nie znają angielskiego. Pomoże on napewno nie tylko tym :) . Komentarze umieszczam w /* */ czyli w nowym standardzie GMa.

Wejście w tryb grafiki 3D
d3d_start() /* włącza tryb grafiki 3D */
d3d_end() /* wyłącza tryb grafiki 3D */
d3d_set_hidden(enable) /* ukrywanie powierzchni (true włącza, false wyłącza) */
d3d_set_perspective(enable) /* tryb projekcji perspektyw (true włącza, false wyłącza) */

Łatwe rysowanie
d3d_set_depth(depth) /* ustawia głębokość dla rysowania */

Rysowanie polygonów w 3D
d3d_primitive_begin(kind) /* zaczyna 3D prymitywa poprzez określenie rodzaju: pr_pointlist, pr_linelist, pr_linestrip,pr_trianglelist,pr_trianglestrip albo pr_trianglefan. */
d3d_vertex(x,y,z) /* dodaje vertexa (x,y,z) na prymitywa, używającego kolor i wartość alpha ustawianą wcześniej */
d3d_vertex_color(x,y,z,col,alpha) /* dodaje vertexa (x,y,z) do prymitywa, z własnym kolorem i wartością alpha */
d3d_primitive_begin_texture(kind,texid) /* zaczyna 3D prymitywa poprzez określenie rodzaju i nadanie tekstury */
d3d_vertex_texture(x,y,z,xtex,ytex) /* dodaje vertexa (x,y,z) do prymitywa wraz z pozycją (xtex,ytex) na teksturze, wraz z kolorem i alpha blendingiem ustawianymi wcześniej */
d3d_vertex_texture_color(x,y,z,xtex,ytex,col,alpha) /* dodaje vertexa (x,y,z) do prymitywa wraz z pozycją (xtex,ytex) na teksturze, wraz z kolorem i alpha blendingiem ustawianymi wraz z tym vertexem */
d3d_primitive_end() /* kończy prymitywa */
d3d_set_culling(cull) /* culling startujący przez tylną stronę objektu (true włącza, false wyłącza) */

Rysowanie podstawowych kształtów
d3d_draw_block(x1,y1,z1,x2,y2,z2,texid,hrepeat,vrepeat) /* Rysuje graniastosłup z aktywnym kolorem wraz z pokazaniem przeciwległych rogów używając wskazanej tekstury. Wpisz -1 jeżeli nie korzystasz z tekstur. hrepeat wskazuje ile razy musi być powtórzona tekstura w poziomie. vrepeat robi to samo ale w pionie. */
d3d_draw_cylinder(x1,y1,z1,x2,y2,z2,texid,hrepeat,vrepeat,closed,steps) /* Rysuje pionowy walec z aktywnym kolorem. Wartości hrepeat i vrepeat oznaczają to co powyżej. closed wskazuje kiedy ma być zamknięty owy walec. steps oznacza ile kroków ma zrobić. Domyślnie jest to 24. */
d3d_draw_ellipsoid(x1,y1,z1,x2,y2,z2,texid,hrepeat,vrepeat,steps) /* Rysuje ellipsoid w aktywnym kolorze. Wszystko jest takie same jak w poprzednich przypadkach */
d3d_draw_wall(x1,y1,z1,x2,y2,z2,texid,hrepeat,vrepeat) /* Rysuje pionową ścianę w aktywnym kolorze. Znów wszystko jest takie jak powyżej */
d3d_draw_floor(x1,y1,z1,x2,y2,z2,texid,hrepeat,vrepeat) /* Rysuje (ukośną) podłogę w aktywnym kolorze. Jeszcze raz macie wszystko powyżej */

Patrzenie na świat :)
d3d_set_projection(xfrom,yfrom,zfrom,xto,yto,zto,xup,yup,zup) /* definiuje ono patrzenie na świat */
d3d_set_projection_ext(xfrom,yfrom,zfrom,xto,yto,zto,xup,yup,zup,angle,aspect,znear,zfar) /* Jest to polepszona wersja poprzedniego. Można ustawić w nim kąt, pole widzenia, z aspect ratio przy widzeniu pionowym i poziomym */
d3d_set_projection_ortho(x,y,w,h,angle) /* Zwykłe wyświetlanie w stylu ortograficznym :D . */

Transformacje
d3d_transform_set_identity() /* Ustawienie identyczności (bez transformacji) */
d3d_transform_set_translation(xt,yt,zt) /* Ustawia transformację w przejście */
d3d_transform_set_scaling(xs,ys,zs) /* Ustawia scalowanie */
d3d_transform_set_rotation_x(angle) /* Ustawia rotację do pozycji X */
d3d_transform_set_rotation_y(angle) /* Ustawia rotację do pozycji Y */
d3d_transform_set_rotation_z(angle) /* Ustawia rotację do pozycji Z */
d3d_transform_set_rotation_axis(xa,ya,za,angle) /* Ustawia rotację wokół ustawionego axisa */
d3d_transform_add_translation(xt,yt,zt) /* Dodaje przejście */
d3d_transform_add_scaling(xs,ys,zs) /* Dodaje scalowanie */
d3d_transform_add_rotation_x(angle) /* Dodaje rotację do pozycji X */
d3d_transform_add_rotation_y(angle) /* Dodaje rotację do pozycji Y */
d3d_transform_add_rotation_z(angle) /* Dodaje rotację do pozycji Z */
d3d_transform_add_rotation_axis(xa,ya,za,angle) /* Dodaje rotację wokół ustawionego axisa */
/* UWAGA! Pomijam komendy ze STACKami, ze względu na to, że nie są aż tak potrzebne, a w każdej chwili można zajrzeć do helpa */

Mgła
d3d_set_fog(enable,color,start,end) /* Włącza lub wyłącza mgłę. color ustawia kolor mgły. start ustawia gdzie się mgła zaczyna. end ustawia gdzie się mgła kończy. */

Oświetlenie
d3d_set_lighting(enable) /* Włącza lub wyłącza oświetlenie */
d3d_set_shading(smooth) /* Ustawia nasycenie cieni lub ich brak */
d3d_light_define_direction(ind,dx,dy,dz,col) /* Ustawia kierunek światła. ind to indeks światła (użyj małej liczby pozytywnej). (dx,dy,dz) to kierunek światła. col to kolor światła. */
d3d_light_define_point(ind,x,y,z,range,col) /* Ustawia punkt który ma być oświetlony. ind oznacza to co powyżej. (x,y,z) to pozycja punktu który ma być oświetlony. range ustawia jak daleko ma być to oświetlenie. col to kolor światła. */
d3d_light_enable(ind,enable) /* Włącza (true) lub wyłącza (false) światło o podanym indeksie (wartość ind). */

To chyba na tyle. Chciałem wam pokazać przez to, jak duże możliwości ma GM 6. Mam też nadzieję, że pomoże wam to w zrobieniu jakiejś gry 3D. Napewno nie zrobicie DOOMa 3, ale ta zabawa napewno przyniesie sporo satysfakcji.
głosów: 5 | ocena: 9.00 oceń zasób | dodał: Marmot
Komentarze
stron: 21

2


av

adamek2323 (17:43, 17.11.2008)

ej żeby muc robić grę 3d nie trzeba przypadkiem pro edition mieć??? bo mi wyskakuje taki błąd:
___________________________________________
ERROR in
action number 1
of Create Event
for object cos:

Error in code at line 1:
d3d_start()

at position 1: This function is only available in the Pro Edition.

av

Yoda (17:55, 17.11.2008)

Jaki edytor, o czym ty gadasz.

;|

av

Darlix (19:28, 17.11.2008)

Yoda: nie mów że nie wiesz o co chodzi :/
Trzeba mieć zarejestrowanego gm'a

av

Lechu4444 (20:35, 17.11.2008)

A co ty myślałeś że tak poprostu ściągniesz sobie program Game Maker nie dasz autorom złamanego grosza i zrobisz grę 3D która będzie hitem na gmclanie Najgorsze w tej całej wersji lite nie jest to że nie da się robić gier 3D tylko to że zablokowali możliwość wstawiania linków.

av

Yoda (21:34, 17.11.2008)

Damian21: nie, nie wiem o co chodzi

av

Yoda (21:35, 17.11.2008)

A, i kodu nie wpisuje się w "edycji wynkcji".

av

adamek2323 (14:52, 18.11.2008)

dzieki wielkie najbardzie pomógł mi Lechu4444 ... teraz tylko muszę wycmanić od rodziców 60 zł na rejestrację bo oglądałem filmik na youtube gdzie jest wszystko opisane jak robic grę 3D w GM ;D

av

Darlix (15:45, 18.11.2008)

najlepiej poszukaj jakiegoś silnika z opisem wszystkich funkcji i łatwiej będzie Ci zrozumieć świat 3D w gm'ie

av

Yoda (16:00, 18.11.2008)

Nie. Najpierw naucz się programować.

av

I am Lord (17:52, 24.11.2008)

Nie. Najpierw rozum, podstawowy angielski potem programowanie.

av

Makary155 (14:51, 25.11.2008)

I obcykaj się z trygonometrią, bez tego ani rusz

av

Ghost (15:00, 25.11.2008)

I najpierw zrób jakąś prostą grę 2D...

av

lenin (18:54, 26.11.2008)

i... i tyle

av

XivroX (19:06, 26.11.2008)

zapomnieliście: najpierw należy uruchomić GM'a xD

av

PsichiX (23:06, 26.11.2008)

lol, skonczcie spam -.-

stron: 21

2



Dodaj komentarz:
Treść:
Menu
Panel użytkownika
Jesteś niezalogowany!

Nie masz konta? Zarejestruj się
Użytkownicy on-line
5 użytkownik(ów) aktywny(ch) przez ostatnie 15 minut:
gości: 4, userów: 1, ukrytych: 0
I am vader
Użytkownicy na czacie discord
I am vader (12:50, 18.08.18):
gratki
Penguin (11:29, 18.08.18):
Gratulacje
exp (22:07, 17.08.18):
gratuluję również, kariera z przyszłością
Chell (15:00, 17.08.18):
dzieki
Wojo (11:37, 17.08.18):
Gratulacje
Chell (7:00, 17.08.18):
jaką stawkę myślicie że mogę wołać ako junior php po miesiącu praktyk i 2 stażu?
Chell (6:59, 17.08.18):
gmclany, zaraz będę kończył staż i zaczynał pracę na pół etatu
gnysek (9:54, 16.08.18):
niewiele, ale jest szybsze.
MaxGaming (3:25, 16.08.18):
Skoro pliki o rozszerzeniu html(przy standardowej konfiguracji serwera) są po prostu wyświetlane, a te z rozszerzeniem php wykonywane to czy użycie pliku html o tym samym kodzie jest szybsze niż pliku php(jeśli w źródle pliku znajduje się oczywiście sam kod hrml)?
Wojo (17:12, 15.08.18):
Exp podglądaj sobie reportaże o chwilowkach i o tym jak ludzie mają problemy z wyjaśnieniem że nie brali żadnego kredytu
exp (15:16, 15.08.18):
max czemu nie mógł udowodnić, nie chcieli sprawdzić jego podpisu? numer dowodu się zgadzał?
exp (15:15, 15.08.18):
no to też może się przydać, bo typ na koncie google miał podane imię i nazwisko i w adresie prawdopodobnie miał datę urodzenia, więc jak ktoś mnie okradnie, to mam podejrzanego. ale wątpię, że prokuratura będzie zainteresowana tym
I am vader (12:27, 15.08.18):
Nie powinno też się mordować ale to nie powstrzymuje ludzi
Wojo (22:26, 14.08.18):
Ale z drugiej strony nie powinno się kogoś okradać mimo wszystko
Sutikku (21:57, 14.08.18):
exp w formie dowodu mógłby pokazać, że nieumyślnie wysłał komuś swoje dane?
MaxGaming (17:37, 14.08.18):
Mój znajomy własnie wpadł w taką chwilówkę i jako że nie potrafił udowdnić że to nie on wziął to musi to spłacać
exp (17:36, 14.08.18):
no jak czytałem o tym, to w takiej sytuacji musisz de facto udowodnić niewinność
Wojo (19:56, 13.08.18):
z tym są różne scenariusze ale i tak powinien ktoś to uregulować bo to jest nienormalne jak mozna czlowiekowi zniszczyc zycie przez bledy mlodosci
exp (19:46, 13.08.18):
zna mój adres zameldowania, a nie zamieszkania, więc wyjebongo. boję się tylko o chwilówki itd. podobno w razie przyjścia komornika łatwo zamknąć sprawę, ale i tak nie chciałbym takich nieprzyjemności
Sutikku (19:29, 13.08.18):
osobiście myślę, że nic Ci nie grozi, ewentualnie pizza co wieczór będzie przyjeżdżać
exp (15:33, 13.08.18):
przez głupią literówkę wysłałem skan pewnego papieru niewłaściwej osobie. robię to regularnie i zrobiłem się trochę nieostrożny
exp (15:31, 13.08.18):
myślicie, że grozi mi coś, jeśli obcy człowiek posiadł prawie wszystkie moje dane osobowe? (ale nie zna mojego numeru dowodu)
gnysek (10:20, 11.08.18):
Dobra zrestartowałem serwer.
gnysek (10:36, 10.08.18):
wynajem!
MaxGaming (0:23, 10.08.18):
chodiz mi bardziej o doświadczenie niż hajs bo pracować wolę na swoim za mniej niż na etacie za więcej ale jednak pierwsza praca po technikum informatycznym od razu w marketingu to fajna sprawa. Tylko jeździć ponad 100km w jedną stronę codziennie pociągiem?
MaxGaming (0:22, 10.08.18):
więc nie mam pojęcia co robić
MaxGaming (0:22, 10.08.18):
wgl to zaproponowano mi prace w dziale marketingu jednej z polskich firm dzięki temu co uczę się na własną rekę, sam dyrektor działu marketingu stwierdził że woli takie osoby niż te świeżo po studiach które na studiach nie nauczą się praktycznie nic co jest na prawdę potrzebne w tej pracy ale... w WWA a ja mam jednak daleko żeby codziennie tam dojedżać
MaxGaming (23:56, 9.08.18):
nie wytłumaczysz że na prawdę rząd nie może stworzyć tych pieniędzy na 500 plus
MaxGaming (23:55, 9.08.18):
Obsługi telefonu dziecko się samo potrafi nauczyć. Teraz spróbuj nauczyć tego moją babcię. Zrozumcie że ludzie są różni. Znam 20 latków których
I am Lord (23:13, 9.08.18):
I nie chodził na żadne dokształcające najęcia
I am Lord (23:13, 9.08.18):
Mój tata pojechał do Norwegii bez języka i się nauczył go w rok już tak że coś tam rozumiał w pracy a przez 3 latach już w miarę płynnie gada
I am Lord (23:11, 9.08.18):
Przebywanie w obcym środowisku dłuższy czas sam w sobie uczy człowieka jezyka
Sutikku (22:46, 9.08.18):
zgadzam się
MaxGaming (22:40, 9.08.18):
Ale język nie jest potrzebny żeby przetrwać widocznie. Odpuścice trochę. Każda rozsądna osoba by się uczyła języka ale nie jest to jakiś przymus. Myślę że to właśnie dzięki temu że takie osoby nie myślą "nie znasz języka, nie próbuj" to przynajmniej nie siedzą na zasiłkach w Polsce tylko na zmywaku w Anglii
Sutikku (22:36, 9.08.18):
o przepraszam za przekleństwa, wydawały się tak adekwatne do treści, ze nie zauważyłem.
Sutikku (22:34, 9.08.18):
a co to za robienie gierek jak wychodzą Ci chujowe i są rakiem gamingu, i co z Ciebie za żołnierz jak chujowo strzelasz? Grunt, że próbują, efekty słabe fakt. Nie uważam, że to dobre i mądre wyjście, nie miałbym strefy komfortu gdybym nie mógł komunikować się w czyimś kraju, ale potrafię takich ludzi zrozumieć. Dziwniejsze jest dla mnie, że będąc tak długo w danym kraju język sam się nie podłapie.
Wojo (21:20, 9.08.18):
najwyraźniej nie jesteś patustem skoro nie potrafisz pojąć tego jak można żyć na krawędzi i bez żadnych zmartwień
I am vader (20:11, 9.08.18):
Ale co to za życie jak się izolujesz i stajesz się rakiem narodu?
Sutikku (17:40, 9.08.18):
potrafią i próbują ;p
Sutikku (17:40, 9.08.18):
słabe porównania, bo za granicę przeważnie jedzie się zarobić i żyć, a skoro oni zarabiają i żyją, to więcej im do szczęścia nie trzeba
I am vader (17:20, 9.08.18):
Jak idziesz na wojnę uczysz się strzelać, bo inaczej zginiesz. Jak chcesz zrobić grę to uczysz się programowania, bo inaczej nie dasz rady. Jak idziesz do szkoły uczysz się tego co Ci każą, bo inaczej jesteś idiotą. Jak wyjeżdżasz za granicę, uczysz się jezyka i kultury, bo inaczej jesteś pasożytem. Proste. Nie potrafisz, nie próbuj.
Wojo (14:32, 9.08.18):
Zazwyczaj są to ludzie, którzy nie lubią gdy narzuca im się jakiekolwiek zasady
exp (13:44, 9.08.18):
max, jeżeli nauczenie się języka kraju, w którym mieszka się na stałe jest dla niektórych niemożliwe ze względu na "strefę komfortu" to już nie wiem, co mam powiedzieć xd
exp (13:43, 9.08.18):
też znam ukraińców, którzy mówią po polsku, niektórzy bardzo dobrze. tak samo, jak wielu polaków w anglii czy niemczech też dobrze zna język miejscowy. nigdzie nie mówiłem, że wszyscy są źli, ale wielu
Wojo (13:15, 9.08.18):
propaganda cały czas istnieje tylko jest bardziej lub mniej intensywna. Aktualnie nie ma żadnej szansy aby dziecko nie było skażone propagandą (no chyba, że mieszka w jaskini)
MaxGaming (12:14, 9.08.18):
nie słuchałem jak ktoś kiedyś na tym forum polecał w każdym nowym telefonie taśmą zaklejać ten czujnik zalania i teraz mam problem XD
MaxGaming (12:09, 9.08.18):
za dużo propagandy już poszło. Trzeba by czekać a nowe pokolenie które nie jest skażone propagandą A o zgrozo propaganda nie ustaje
MaxGaming (12:08, 9.08.18):
W sumie demokracja to jedna wielka pułapka. Co możemy niby zrobić? Chodzić po domach i tłumaczyć ludziom żeby głosować na inne partie? Nie da rady przekonać większości
MaxGaming (12:07, 9.08.18):
sądzą że są sprytni bo wolą PO albo PiS, a to jest jeden ciort
MaxGaming (12:07, 9.08.18):
Ale tak jest w obie strpny. "Wpjna" PO/PiS to pułapka w którą większośc ludzi się łapie
Ankieta
» Jakie kursy najchętniej widziałbyś na stronie ?
GM Studio
GM Studio 2
Godot
Construct

GMCLAN to serwis o programie Game Maker i nie tylko.
[ Polityka prywatności ]
Copyright © 2002-2018. GMCLAN.ORG
Wszelkie prawa zastrzeżone. Kopiowanie materiałów bez zgody redakcji zabronione!
© 2002-2017 Ranmus (ranmus.pl), © 2017-2018 {=|=} fable_inside();

[ Czas generowania strony: 0.03246 sekund ] [ Liczba zapytań MySQL: 13 ]