ultimate 3D
V tomto vánočním díle si řekneme, jak na
terén a vykreslování 2d obrázků. A aby jsme to měli tak trochu stylově,
vysvětlíme si to na vánočním příkladu.
Co budeme potřebovat?
Texturu sněhu,2d obrázek na vykreslení, height mapu.
A proto že jsem hodnej kluk vše jsem vám sehnal tak sosejte.
Ještě než začnem zmíním se o heightmapě, je to vlastně mapa terénu,
čím světlejší je barva na height mapě tím vyšší bude i pohoří.
Tak, otevřeme si náš poslední gm soubor a do objektu control si načteme
další texturu. Tentokrát to bude transparentní (průhledná) textura
stromečku
LoadTexture("gfx/tree.tga",8); //cesta k souboru |
Dále si vytvoříme objekt teren. Do něj vložíme event create a vložíme execute piece of code a napíšem :
// Velikost a vyska terenu můžete si namačkat jákákoliv čísílka chcete |
Dále si vložíme event step a vložíme do něj script step. A ještě execute piece of code a do kódu vložíme:
//tento script počítá lightmapy recalculate_lightmap+=1; if(recalculate_lightmap>20){ CalculateTerrainLightMap(); recalculate_lightmap=0; } |
A nakonec vložíme event destroy a do něj script destroy. To je vše pro objekt teren.
Dále si otevřeme objekt camera a do eventu step vložíme ikonku execute piece of code a do kódu potom napíšeme kód
GetMousePos(); //Ovládání myši rotx+=(global.mouse_y-display_get_height()/2)*mouse_speed; if(rotx<-60) rotx=-59; if(rotx>60) rotx=59; roty+=(global.mouse_x-display_get_width()/2)*mouse_speed; SetMousePos(display_get_width()/2,display_get_height()/2); //Camera bude hezky chodit po terénu z=GetTerrainHeightAtPos(teren,x,y); |
To je vše pro objekt camera, tím by mělo být vše hlavní vyřešeno a terén by měl fungovat.
Teď se vrhnem na vykreslování 2d spritu. Nejlehčí bude když použijete
oběkt billboard který by mezi oběkty měl být, pokud ho nemáte, stačí
když si stáhnete sdk z oficiálních stránek u3d a v basic souboru bude
na 100% Pro ty co si chtějí udělat vše sami. Přidávám návod ;)
Vytvoříte si objekt a vhodně ho pojmenujeme (v našem případě
stromeček) Vytvoříme event create a do něj vložíme ikonku execute
piece of code, do ní vložíme kód :
texture=8; //číslo textury width=100; //šířka height=100; //výška originx=0; // x originu (origin určuje střed spritu) originy=1; //y originu z=137; // výška spritu |
Všechny parametry můžete samozřejmě měnit k obrazu svému.
Dále vložíme do create eventu script create2d . Potom vytvoříme event
step, do něj vložíme script step. A nakonec vložíme event destroy a do
něj script destroy.
Tak to by bylo vše :) Já jsem si přidal pár světýlek a upravil ambient
aby to hezky vypadalo. O světýlkách se ale zmíním až příště.(ti
chytřejší na to příjdou sami :D.
Ps: S těma texturama se to má takhle, model stačí otexturovat v jiném programu (anim8or 3ds max, blender to neumí tak máme my blenderáci smůlu) Poté jen vložíte model do složky k modelům a texturu do složky k texturám. Měla by se načíst sama :)
Napsáno dne: 13.12.2007
• Začínáme s Ultimate 3d - díl 3 Mlha, ambient a pozadí (11.12.2007)
• Začínáme s Ultimate 3d - díl 2 Modely (04.12.2007)
• Začínáme s Ultimate 3d (27.11.2007)
jo
(@lik6, 22. 2. 2012 16:43)