Ako na modely z Blenderu do GM
Vopred upozorňujem, že v súboroch sú len materiály na domácu úlohu. Nečakajte, že vám dodám textúry alebo zobraz zdroj. Od toho je to tutoriál - aby ste sa to naučili SAMI.
V poslednej dobe ma desne baví znovuoživovat si prácu s 3D v game makier. A tak ma napadlo, že by som sa mohol podeliť o skriptíky, čo som v rámci testovania napísal. Takže ak vás zaujíma 3D v gm, tento článok je pre vás jasná voľba. Ešte by som rád upozornil, že free verzia game makeru nie je nijako zvlášť obmedzená. Blender je taky free, takže vás to nebude stáť ani korunu!
Tak, a teraz vás navnadíme. Niečo také sa pokúsime vytvoriť:
Kde začať?
No .... Asi na youtube. S úplným základy sa nemá cenu zaoberať. Je toho plný youtube a dokonca aj tu, na ITnetworku je slovenský seriál, ako si urobiť základ pre parádny hru v štýle DOOM. Aj ja s tým začínal. Vopred vás upozorňujem, že k tomuto tutoriálu musíte poznať tento 3D základ.
Ďalší nástroj, ktorý sa vám bude hodiť, je Blender. Stiahnite, nainštalujte a potom si s ním trošku pohrajte.
Tvorba 3D modelu v Blenderu
Pripravil som pre vás drobné uľahčenie. Stiahnite si STARTUP.BLEND, otvorte v Blenderu a nastavte ho ako spúšťací súbor.
Začneme modelovaním stolčeku. Prvým krokom bude stlačiť
shift+a
a vybrať mesh
a cube
.
To bude naša vrchnú časť stolčeku. Pomocou klávesy na Numpad (musíte mať zapnutý numlock) prepneme do bočného pohľadu a klávesou S (scale) stôl zmenšíme. Hneď po klávese S stlačíme kláves Z, aby sa predmet zmenšoval len po osi Z.
Až budeme spokojní s hrúbkou, vykonáme to isté ešte 4x pre nohy stola. Klávesou S opäť upravíme kocky, tentokrát je ale zväčšíme po osi Z, aby pripomínali nohy.
Klávesom G sa presunieme na roh stola, a ten potom kombináciou shift + D zduplikujete a presunieme na ostatné strany stola. Ak chcete presúvať presne, stačí, keď po klávese G stlačíte X, Y alebo Z a predmet bude kĺzať po určitej osi. Nakoniec klávesom B vyvoláme označovacie mód a označíme všetky nohy a vrch stola. Tie potom kombináciou ctrl + j spojíme v jeden objekt. A voilá - stôl je na svete!
Teraz je na čase presunúť origin objektu na spodok stola, aby nám v Game Makeru stál stôl pri zemi. Prepneme sa do bočného pohľadu číslom 1 na Numpad, nastavíme ortografické view klávesom 5 (num), označíme stôl, klávesou tab prepneme do edit modu. Klávesom A označíme všetko a nakoniec klávesmi G a potom Z posunieme objekt tak, aby oranžová bodka bola u spodku nohách.
A teraz využijeme môj štartovací súbor. Pripravil som v ňom totiž mód "game maker"!
Ako prvý sa budeme venovať okienku vpravo dole. To slúži pre unwraping.
Prepneme si na Face select mod:
Neskôr stlačíme kláves B, označíme vršok stola a pomocou U vyvoláme ponuku, kde zvolíme project from view.
Na ľavej strane sa objaví uv mapa pre vršok stola. Nabehnutím do jeho okna a klávesom G si ho presunieme do rohu.
Rovnaký postup urobíme u bokov a nôh stola.
Zakliknite si UV in sync
, aby sme mali prehľad o všetkých uv
plochách.
A opäť pomocou výber (B) je označíme a nejako rozumne zarovnáme.
Teraz je čas na "vychytávku" číslo 2. Tou je špeciálne pripravené nastavenie na "pixelovaté" textúry.
Ak sme v edit móde, klávesou tab ho opustíme a klikneme na tlačidlo New, čím priradíme objektu nový materiál. Objaví sa nám takzvané nódy, ktorých si budeme všímať až za malú chvíľku.
Najskôr je totiž potrebné priradiť obrázok k modelu. To vykonáme kliknutím na tlačidlo New v ľavom okne.
A pretože je tento návod o low-res. Zvolím veľkosť textúry 64x64 ako v navnaďovacím obrázka a ako pozadie color grid pretože ... Sa mi to jednoducho páči.
Kliknite na OK a .... Nič sa nestane. Najprv je potrebné pohrať sa s Node editorom vpravo hore.
Kombináciou klávesov shift + a vyvoláme menu, z ktorého vyberieme textures a imidž texture. Myšou prepojíme položky color a naklikne browse image (NE OPEN). Z roletkového menu vyberieme našej práve vytvorenú textúru a ... Opäť nič.
A tu práve prichádza to moje prekvapenie pre vás. Shift + A, group a vyberte Pixelate. V hodnotách node nastavte vašej veľkosť textúry (v našom prípade 64x64). To prepojte s Image Nodom a je hotovo.
Potom tu vyberiete material:
A v lište v okne vľavo dole z podobného menu paint. Potom klávesom T vyvoláte menu pre nastavenie štetcov. S tým je potrebné si málinko pohrať.
Ale ak nie ste úplní "antitalent", za pol hodinky máte hotovo. Klávesom F zväčšujete štetec a shift + F nastavujete silu prítlaku. Úplne hore máte typy štetcov.
O 30 minút neskôr ....
A je na čase si textúru uložiť.
A nakoniec vyexportovať model. To môžete priamo z Blenderu ak máte vhodný plugin. Ten možno stiahnuť tu.
Potom ho v Blenderu aktivujete (file, user preferences, instal from file a nezabudnite ho v zozname nájsť a zaškrtnúť ako aktívny).
A model vyexportujete ako gm formát.
Použitie textúry v game Makeru
Teraz je čas vrhnúť sa na game makier. Ako som písal na začiatku, počítam s tým, že máte funkčnú 3D prostredí, po ktorom sa dá pohybovať. Ak ste snáď nepochopili návod na ITNetworku ktorý som odporúčal na začiatku, môžete využiť tento videonávod od Sivarta:
Ale späť k modelom. Verím, že väčšina z vás už s gm niečo málo urobila a tak nebudem toľko plytvať obrázky.Najskôr si pripravíme model a textúru. Textúru pridáme jednoducho ako background. Nič viac nie je potrebné.
Model je trošku zložitejšie. V included files vytvorte group Dáta, a v ňom group mdl.
A teraz príprava niekoľkých skriptíků.
Ako prvý vytvorte skript: init_model
Do neho vložte nasledujúci kód:
///init_model(filename,texture); z = 0; //základní Z pozice model = d3d_model_create(); //nastavení proměnné //nahrání modelu, díky přípravě pak bude stačit jen název bez přípony d3d_model_load(model,string("Data\mdl\")+string(argument0)+string(".d3d"); tex = background_get_texture(argument1); //nastavení textury
No a ďalej si pripravíme skript na vykreslenie modelu: draw_model
///draw_model(xscale,yscale,zscale,zcorrect) d3d_transform_set_identity() //nastaví rotaci modelu podle spritu. Takže pokud budete chtít mít stůl šejdrem, stačí nastavit image_angle spritu d3d_transform_add_rotation_z(image_angle) //Zvětší/zmenší objekt (pokud je to potřeba) d3d_transform_add_scaling(argument0,argument1,argument2) //Nastaví origin modelu na náš objekt d3d_transform_add_translation(x,y,z+argument3) //Vykreslí model s předem nastavenou texturou d3d_model_draw(model,0,0,z,tex); //nastaví origin zpátky na celý svět .... myslím :D d3d_transform_set_identity();
No, a už zostáva len vytvoriť objekt obj_stolecek. Vytvoril som si pre neho obrázok o veľkosti 64x64 a origin nastavil na prostriedok. Nesedí to 100% ale aspoň viem, kde približne stôl bude.
V objekte stôl vytvoríme Create event a Draw event
Do create eventu napíšeme:
init_model("table",tex_table);
Ako som písal predtým, nie je potreba písať celú cestu k súboru alebo príponu, jednoducho zadajte názov vašej textúry.
Do draw eventu napíšeme:
draw_model(10,10,13,0);
(X-zväčšenie, y-zväčšenie, z-zväčšenie, úprava Z pozície)
No, a ak náš model vložíme do hry, uvidíme roztomilý malý stolček:
Asi by sme ho chceli väčšie, takže upravíme hodnoty na draw_model (20,20,25,0);
Výsledok
Oveľa lepšie!
A ak vezmeme pôvodné hodnoty, zduplikujete objekt, upravíme Z hodnotu nového objektu z nuly na 28 ...
No, a to je celé! Gratulujem! Práve si sa naučil portovať 3D objekty z Blenderu do Game Maker!
Na záver som pripravil také malé cvičenie.
V súboroch k článku nájdete zips s modelom stoličky, knižky a poličiek a ich textúr. Uvidímet, kto ako prvý okomentuje s linkom na obrázok, ako je napríklad tento:
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkamiStiahnuté 560x (35.72 kB)