Blender, basi per creare videogame, guida per grafici e pythonisti

Ultima modifica per la pagina: 18:24, 15 gen 2011.


Indice

Premessa

Con questo tutorial vi insegnerò le basi minime per usare blender, vi insegnerò come si aggiungono gli oggetti, come si editano, come si aggiungono materiali e le texture agli ogetti, come si modificano le luci, come si fa un test di rendering, come si preprara una scena minima per un videogioco 3D e come si progamma visualmente una sfera che si sposta e saltella con le freccie della tastiera.

Gli strumenti necessari

Una qualsiasi distro opensource


Scaricate blender 2.56 http://www.blender.org/download/get-256-beta/

attualmente in beta ma già fortemente stabile, dalla versione 2.57 sarà in RC.

Decomprimetelo e avviate l'eseguibile di blender

Vi ritroverete con l'interfaccia aperta, non fatevi spaventare da tutti quei bottoni, non serviranno per questo tutorial.


Guida minima all'interfaccia

La cosa essenziale che  serve conoscere è come navigare nella 3d window ed interagire con gli oggetti al suo interno. 


È importante sapere che blender è windows sensitive, cioè a seconda di dove si trova il cursore del mouse, funzioni e shortcut cambiano.


Il Tasto Centrale del Mouse Image:Template-MMB.png è importante  per la navigazione nella 3D Window infatti:

  • Con Tasto Centrale del Mouse Image:Template-MMB.png premuto, muovendo il mouse ruoterà tutta la 3D window attorno ad un fulcro o un oggetto.
  • Con Shift + Tasto Centrale Mouse Image:Template-MMB.png premuti, attiverete il padding, cioè traslare la 3D window.
  • Con Ctrl + Image:Template-MMB.png premuti e muovendo il mouse avanti o indietro attiverete lo zoom
  • (funziona anche con la rotellina del mouse)


Il Tasto Destro del Mouse Image:Template-RMB.png serve per selezionare gli oggetti, o in caso si effettua un'operazione come ruotare o traslare un oggetto, ripremendolo annullerete l'operazione in corso

(funziona anche con Esc = annulla operazione = Image:Template-RMB.png )


Il Tasto Sinistro Mouse Image:Template-LMB.png serve per confermare le operazioni.
(equivale premendo il tasto Invio = conferma operazione= Image:Template-LMB.png )


Note per manipolare gli oggetti  nello spazio g = grab (trasla) , r = ruota , s = scala una volta avviata l'esecuzione di uno dei manipolatori, premendo x si limita l'operazione al solo asse x, premendo y si limita l'operazione al solo asse y, premendo z si limita l'operazione al solo asse z esempio: se premete il tasto r per ruotare un oggetto, e subito dopo premete x , questo ruoterà solo attorno all'asse x

Fase 1: Prepariamo la scena, aggiungiamo e modifichiamo alcuni ogetti

Puliamo la scena

Selezionate l'oggetto quadrato che vedete nella 3DWindow con il  Image:Template-RMB.png e premete dalla tastiera Canc



Per visionare dall'alto la scena tastierino numerico 7, visione frontale tasto numerico 1, visione laterale tasto numerico 3, switch vista prospettiva/vista ortografica tasto numerico 5.



Ripristinate il cursore 3d (cerchietto rosso e bianco) alla posizione x0 y0 z0 in caso lo abbiate spostato premendo  i tasti shift + c

Creiamo un piano

Creiamo un piano con dei muri di protezione per non far cadere la sfera più avanti quando saranno aggiunte dinamica e movimento

Aggiungete ora un oggetto primitiva piano premendo shift + a → mesh → plane



Premete il tasto S e scalate la primitiva plane appena creata più o meno quanto la griglia e premente Image:Template-LMB.png o invio per confermare.


Con il piano selezionato entrate nella modalità Edit Mode premendo TAB

Noterete ora che agli angoli del piano ci sono dei punti arancioni di cui uno è bianco.

Premete il tasto a (seleziona/deseleziona tutto) per deselezionare i punti.

Ora che è tutto deselezionato tenendo premuto Shift andate con il mouse vicino i punti e con Image:Template-RMB.png riselezionate uno ad uno tutti i 4 punti.


Premete il tasto e per estrudere il piano, alzatelo di qualche cm e premete Image:Template-LMB.png

Passate dalla modalità Vertex Select Mode alla modalità Face Select mode selezionate con il mouse la faccia superiore e premete Canc faces per cancellarla.


Premete TAB per uscire da Edit Mode

Creiamo una sfera

Centralizzate il cursore 3d (shift + c)

Create un secondo oggetto, questa volta una sfera

shift+a mesh UV spere.

Posizionate il mouse sulla freccia blu (asse Z) premete Image:Template-LMB.png e trascinate la sfera verso l'alto in modo che non intersechi più con il piano.


Smussiamo la sfera, dal pannello laterale a sinistra, Object Tools Shading Smooth.

Test veloce di Rendering  premete F12

Esc per ritornare alla visuale precendente.

Salvate con Ctrl + s 

Fase 2: Game Engine e scena ottimizzata per  OpenGL GLSL

Intro

Il Game engine è un motore dotato di tools che gestiscono la programmazione visuale e di tools manipolabili tramite api con Scripting in Python; Fisica degli oggetti: gravità , rigid body, soft body (gomma molle etc); Animazione Manuale e ParametricaGestione degli eventi di mouse , tastiere, joystick;  Gestione delle scene a livelli, per dare la possibilità di creare intro, livelli gioco, livelli huds, etc. Inoltre gestisce audio 3D, eventi di collisione tra gli oggetti  etc..  


Note sulla gestione della Visuale Camera
Selezionate la camera con il Image:Template-RMB.png
Tastierino numerico 0 entrate nella visuale camera prospettiva (è possibile selezionare la camera anche adesso cliccando con il Image:Template-RMB.png sul bordo della camera). Tasto g (grab) per traslare la camera in una posizione più comoda con il mouse (Esc o Invio per annullare o confermare) Premere una sola volta tasto r (rotate) per ruotare sull'asse della camera, due volte r per ruotare su tutti gli assi con il mouse (Image:Template-LMB.png per confermare, Image:Template-RMB.png per annullare)

Prepariamo la scena OpenGL con lo shading realtime GLSL


In alto al centro premente sul menu Blender Render ed impostate la modalità Blender Game


Noterete che la window a sinistra (Window Properties) è cambiata.



Velocemente dalla render Properties(icona macchina fotografica) sul pannello Shading selezionate GLSL, per attivare la modalità shading avanzato nella 3d window.

Dal menu appena sotto la 3D window impostate
la modalità Textured











È ora di modificare i materiali degli ogetti. 



Assegniamo un colore al piano



Selezioniamo l'oggetto piano.

Nella Properties Window, cliccate sull'icona Image:Material.jpg (material properties)

se non trovate l'icona material è perchè è nascosta, cliccate sulle icone con il Image:Template-MMB.png e strascinatele a sinistra







Clicchiamo  new material e poi scegliete un colore a voi consono cliccando sul colore bianco nel pannello diffuse








Assegniamo Una Texture alla Sfera


Selezioniamo l'oggetto sfera, aggiungiamo un materiale, e clicchiamo su texture properties

Image:Texture.jpg

Clicchiamo su new texture

e da Type: clouds selezioniamoimage or movie.

Dal pannello

su new → selezioniamo → UV test grid → OK.

(abbiamo creato un'immagine)

adesso assegniamola alla sfera, affianco al tasto new noterete un tastino più piccolo con una icona immagine sopra, cliccateci e selezionate “untitled” (o il nome scelto in caso gliene avete dato uno alla texture)

selezioniamo da UV Grid a Color Grid perché colorato è più bello! :D









Adesso Modifichiamo la luce!


Selezionate la luce che si trova nella scena, noterete che nella Window Properties al posto dei materiali, trovate la luce (iconcina gialla), ciccateci e cambiate la sorgente di luce da Point a Spot e voilà un bel faretto puntato sulla vostra sferetta.

Siccome vi trovate in modalità Game , vi serve l'ombra Buffer Shadow, selezionatela dal pannello shadow.


Abbiamo finito con preparazione della scena in openGL

Ctrl+ s per salvare


Game Engine parte due: Settare la dinamica agli oggetti, e programmazione visuale con la Window Logic Editor, 


Attiviamo con il tasto p sulla 3DWindow la modalità gioco!

Noterete che non cambia molto per ora.

Premete il Tasto Esc per uscire dalla modalità Gioco.


Settiamo la dinamica agli oggetti.


Selezioniamo la sfera

alziamola con il Image:Template-LMB.png  sulla freccia blu (asse z) di qualche centimetro distante dal piano in modo da poter notare una caduta.

Premete p di nuovo e noterete che non succede nulla.

Esc ed uscite dalla modalità gicoo.


Dalla Window Properties a sinistra, selezionate l'ultima icona Image:Physics.jpg Physics



Dal pannello Physics , Physics T: cambiamo da

Static a Dynamic

Attiviamo la modalità Gioco premendo il tasto p

Voilà la nostra sfera adesso ha proprietà fisiche.

Usciamo dalla modalità gioco con Esc.







La Logic Editor Window e la Programmazione Visuale


 Logic Editor è un potente strumento di programmazione visuale, non serve scrivere quasi nulla per la programmazione di base. Non fatevi spaventare da tutte quelle finestre il sistema è molto semplice. 


Allargate window inferiore (in questo caso è laTimeline Window) e dall'icona orologio in basso a estrema impostate la Logic Editor Window

nota
(zoom e padding funzionano anche sulla logic editor window con il Image:Template-MMB.png)

Aggiungiamo i movimenti alla sfera

Aggiungiamo il movimento in avanti

Con la Sfera selezionata: nella Logic Window a spere

agiungiamo un sensore {

“add Sensor”keyboard e nella sezione Key premiamo sul vuoto ed assegniamo il tasto Freccia Su

}


aggiungiamo un controller {

add controller → “AND”

}


ed infine aggiungiamo un attuatore {

add actuator → motion, e nella sezione loc ad x assegniamo 0.10 come valore

}

adesso tenendo premuto Image:Template-LMB.png sul puntino del sensore trasciniamolo ed agganciamolo al cerchietto del controller, facciamo la stessa cosa dal puntino del controller al cerchietto dell'attuatore.

Premete p e testate.

Premete Freccia su se avete fatto tutto giusto la palletta si sposta :D


Esc e continuate ripetendo le operazioni per ogni nuovo movimento da aggiungere.


Aggiungiamo Muovere Indietro alla sfera
Aggiungiamo un sensore keyboard assegnando "freccia giù", un controller "add" attuatore motion assegnando a loc il valore negativo x -0.10


Aggiungiamo Girare a Destra alla sfera:

Aggiungiamo nuovi sensore, controller, attuatore.

Assegna “freccia destra” al sensore keyboard

assegna all'attuatore motion il valorerot z 5 gradi 


Aggungiamo Girare a Sinistra alla sfera:

Aggiungiamo nuovi sensore, controller, attuatore.

Assegna “freccia sinistra” al sensore keyboard

assegna all'attuatore motion il valorerot z -5 gradi (valore negativo)


Aggiungiamo il Salto alla sfera:

Aggiungiamo nuovi sensore, controller, attuatore.

Assegna “barra spaziatrice” alsensore keyboard

assegna all'attuatore motion il valore Loc z 0.10

in questo caso avrete un effetto Pulse perchè l'ogetto è soggetto a dinamica.


Premete p e testate.


Il vostro primo giochetto con blender è completo YUPPY :D


Trucchi ed anticipazioni:


Aggingere il VBO, Vertex Buffer Object

dal menu file → user preference → system → opengl: VBOs

Questa opzione, se avete schde video avanzate che supportano questa modalità, è utile per velocizzare le scene nei giochi.



Per i pythonisti:

noterete che nella sezione “add controller” del Logic Editor esiste un “add script”.


Questa modalità bypassa gli attuatori visuali, ed attiva la modalità scripting.

Gli script si creano attivando una Window Text editornew o caricando un file..


la Text Window è avanzata, infatti supporta la colorazione e la formattazione python,


in più sono disponibili dei template python dal menu “Text


Per visualizzare le api di blender menu help in alto → pyhton api reference.


E per finire, la ciliegina sulla torta....



Ora siete esperti di Blender... bhe quasi... xD


Buon divertimento!

--Amonpaike 19:24, 12 gen 2011 (UTC)

Questa pagina è stata letta 4.555 volte.