*   >> läser Utbildning artiklar >> science >> programming

Lär känna Irrlicht 3D-motor - Lighting

ladda ner demot och källkod Omdömen

TILLBAKA TILL Handledningen INDEX Omdömen

I den sista handledning vi lagt till en 3D-modell på skärmen. Men eftersom det fanns inga lampor inrättas, var vi tvungna att stänga av belysningen på modell helt och hållet, annars skulle det ha dykt upp svart. I den här guiden kommer vi att lägga till en ljus till platsen Omdömen

ApplicationManager.h /ApplicationManager.cpp Omdömen

ApplicationManager vinner två nya variabler:. Ljus 1 och skylt. Ljuset är en punkt i scenen som är en ljuskälla.

Det är inte direkt synliga själv - ljuset syns bara på ytan av en 3D-modell. Så att vi kan se var ljuset är i scenen kommer vi att skapa en skylt, som är en platt rektangel som alltid är vänd mot kameran, och sätt ljuset som ett barn av skylten. Omdömen

Genom att fästa ljus ett barn av skylten ljuset kommer att flytta vart de billboard drag. Denna typ av förälder in- /barn är ganska vanligt i 3D motorer, eftersom den tillåter en grupp av objekt ändras på en gång.

Du kan använda detta för att bifoga ett svärd till en spelare handen till exempel, och sedan svärdet skulle hålla med spelaren som flyttas runt. Omdömen

I startfunktionen gör vi en liten ändring på uppmaningen att de addCameraSceneNodeFPS fungera. Ninja 3D-modell är ganska liten, och kameran går alldeles för fort i förhållande till modellen. Så här har vi åsido några av standardparametrarna för att sakta ner kameran. Omdömen

Vi lägger ninja 3D-modellen till platsen med hjälp av samma kod som i den senaste handledning. Den enda skillnaden är att vi nu inte längre inaktivera belysning.

Omdömen

Vi skapar sedan en ny skylt genom att anropa ISceneManager addBillboardSceneNode funktion. Igen vi åsidosätter några av standardparametrarna för att göra skylten lite mindre, och mer i linje med storleken på ninja 3D-modellen. Omdömen

Vi kallar setMaterialType funktionen och leverera EMT_TRANSPARENT_ADD_COLOR flagga för att indikera att färgerna i texturen som tilldelats skylten kommer att läggas till den scen, som effektivt gör de svarta delarna av textur.

setMaterialTexture funktionen används sedan för att tilldela en textur.

Den första parametern definierar texturskiktet. Vi levererar 0 eftersom vi tilldela detta som den första (och enda) konsistens. Den andra parametern är strukturen i sig, vilket i det här fallet laddas från en bitmappsfil. Omdömen

Det sista vi gör är inaktivera belysning för skylten, precis som vi gjorde med 3D-model

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.