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
3 użytkownik(ów) aktywny(ch) przez ostatnie 15 minut:
gości: 1, userów: 2, ukrytych: 0
Adriann, ANtY
Użytkownicy na czacie discord
gnysek (18:29, 19.02.18):
W WPF można robić design apek w XAMLu ? włącznie z animacjami
ANtY (15:51, 19.02.18):
co to za stanowisko C# Designer?
Wojo (12:57, 16.02.18):
Nie
gnysek (9:11, 16.02.18):
Widziałeś kiedyś stackoverflow ?
Wojo (19:36, 15.02.18):
Fajnie jakby się zarabialo a problemy się opisywalo na gmclanie, chociaż ktoś już tak próbował robić.
MaxGaming (18:10, 15.02.18):
oj gnysek, szukasz dziury w cały. Po pierwsze nie wiedziałem właśnie co psuje stronę zupełnie, po drugie nie chiało mi się bawić w takie rzeczy bo dłużej by to zajęło niż potem komuś znaleźć błędy. No a cóż, to każdy mówi jeżeli robisz komercyjnie to i to to musisz wiedzieć to i to. Skoro robię coś komercyjnie i zarabiam to znaczy że umiem wystarczająco dużo żeby to robić i zarabiać
gnysek (16:32, 15.02.18):
Taki hint: w serwisach typu twitter/facebook/discord można wkleić printscreena ze schowka
Wojo (16:23, 15.02.18):
Ja kiedyś dawalem screeny na imageshack to byly czasy...
I am vader (12:10, 15.02.18):
Najlepsze są serwisy do dzielenia się screenami jak puush czy gyazoo, chociaz sam korzystam z feenus ktore jest prywatne niestety wiec tylko ja i pare innych osob ma tam wstep.
Wojo (10:59, 15.02.18):
Służę pomocą tym co nie umieją robić screenów
Wojo (10:58, 15.02.18):
Nawet ja wiem jak to zrobic naciskasz klawisz z napisem prt scr
gnysek (10:53, 15.02.18):
jak robisz komercyjne strony to powinieneś takie rzeczy umieć
gnysek (10:53, 15.02.18):
no ale to całej strony nie trzeba pokazać, żeby naprawić błąd, można zrobić screena i obciąć i pokazać tylko parę bloków albo na jsfiddle.com wrzucić fragmetn co się psuje
MaxGaming (1:15, 15.02.18):
Już mam w sensie że doszedłem sam gdzie jest błąd
MaxGaming (1:14, 15.02.18):
Już mam. Nie chodzi o kradzeż, po prostu robię portal do celów komercyjnych i zależy mi by nikt nie wedział zanim nie skończe co to za portal. Sam html i css jest bez wartości akurat
I am vader (0:14, 15.02.18):
Chwuila zaraz to naprawie.
gnysek (19:10, 14.02.18):
w wersji na androida chyba nikt nie wydał ?
PsichiX (16:14, 14.02.18):
smiejecie sie, ale to bylby achievement, zrobic najlepszego catch the clauna na swiecie
Ignatus (16:01, 14.02.18):
A co jeżeli to najlepszy kacz de klown w historii i zarobi wiecej niz hotline miami?
I am Lord (11:25, 14.02.18):
Ktoś robi kacz de klawna i wysyła na PW bo na pewno ukradnie
I am Lord (11:25, 14.02.18):
uwielbiam to na gmclanie xD
PsichiX (1:50, 14.02.18):
na forum temat zaloz, nie mysl nawet ze ktos by mial krasc cssa, skoro nie dziala a i css to opis materialu, a nie algorytm
MaxGaming (1:36, 14.02.18):
Mógłby mi ktoś pomóc znaleźć błąd w prostym CSSie? Wyślę na PW kod
Wojo (15:36, 13.02.18):
Gierka uspokok się
ANtY (12:19, 13.02.18):
nie mow o mnie za plecami, ok?
Wojo (12:02, 13.02.18):
I się rozwinęły gierki nie można się kłócić...
Wojo (12:02, 13.02.18):
Wiesz o kim mówię
Ignatus (11:20, 13.02.18):
Jak to nie.Zaczynalem od skool daze na c64, przez UFO na amidze 500 az po Fallouta 2 na PC ,zadne pozniejsze gry wiekszego wrazenia juz nie robio
Wojo (10:22, 13.02.18):
Co za babole ludzie wy nie zyliscie w czasach rozwoju gier a pierdzielicie bez sensu. Ja mam dopiero 9 lat i takich głupot nie pierdziele
gnysek (10:14, 13.02.18):
nie nie, babuleńki mówią "za Gierka to było lepiej"
PsichiX (23:03, 12.02.18):
no wlasnie wszyscy mowio na odwrot
Ignatus (22:04, 12.02.18):
A wszyscy mówio że ten Gierek to taki super był
Wojo (8:26, 12.02.18):
Gierka, przecież napisoł
I am Lord (7:24, 12.02.18):
co robisz?
exp (21:17, 11.02.18):
tak dzisiaj stwierdziłem, że gierka, którą robie od jakiegoś czasu to jednak do dupy jest
Chell (20:48, 11.02.18):
musicie mi uwierzyc
Chell (20:47, 11.02.18):
kumpel przedwczoraj puscil i teraz mi podpowiada
Chell (20:47, 11.02.18):
z rok nie slyszalem tenacious d, w podpowiedziach tez nie mialem bo bym se puscil
Chell (20:46, 11.02.18):
tej bez kitu, uwierzylem w to co pisal Vader
Wojo (19:02, 10.02.18):
Bo to nie jest zależne od gmclanu
Gibki Kaktus (0:44, 10.02.18):
Czemu? XD
ANtY (23:57, 9.02.18):
OBY NIGDY
Gibki Kaktus (22:38, 9.02.18):
Ciekawe kiedy jakieś info o wystawie na Pyrkonie dadzą
Nikas (19:32, 7.02.18):
Odbierałem to inaczej. Nieważne. TopHat też po prostu zmarł już dawno i nic z nim nie robiłem.
I am vader (16:38, 7.02.18):
No i elegancko
Wojo (9:57, 7.02.18):
Ja bym dal znizke dla vadera za konstrukcje z krytyki
I am vader (20:58, 6.02.18):
Przepraszam ze konstruktywną krytykę tak źle odbierasz
Nikas (18:20, 6.02.18):
No oczywiście, że nic lepiej się nie dało. Bo jak by się dało, to by się zrobiło.
gnysek (16:32, 6.02.18):
może jeszcze zniżki dla stałych klientów
gnysek (16:32, 6.02.18):
kupony rabatowe
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.
Copyright © 2002-2018. GMCLAN.ORG
Wszelkie prawa zastrzeżone. Kopiowanie materiałów bez zgody redakcji zabronione!
© 2002-2017 Ranmus (ranmus.pl), © 2017 {=|=} fable_inside();

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