panda3d
venerdì 2 Dicembre 2011 - Commenta
Sviluppare un gioco in Python: Panda3D – collisioni

Introduzione
Con questo articolo concludiamo il nostro breve tour nel mondo di Panda3d. Purtroppo lo facciamo trattando molto superficialmente un tema spinoso e vasto, ovvero le collisioni.
In questo esempio vedremo semplicemente come individuare delle collisioni, visualizzandole nella nostra scena.
Collisioni
L’individuazione delle collisioni è il primo passo per far sì che due oggetti urtino e reagiscano all’evento.
Ci sono due tipi di collisioni (o modalità) che si possono individuare:

Creare una speciale geometria per la collisione di un particolare oggetto, come una sfera, un cilindro, un cubo o anche un insieme di essi.
Permettere le collisioni …

martedì 22 Novembre 2011 - 2 Commenti
Sviluppare un gioco in Python: Panda3D – audio

Introduzione
Il nostro tour attraverso questo splendido game engine, sta per volgere al termine. Con questo articolo vedremo come inserire effetti audio all’interno della nostra scena in Panda3d, senza troppe pretese.
Aggiungeremo una musica di sottofondo che si può ascoltare premendo una pulsante (GUI) ed un effetto audio 3d. Panda3d offre molte funzionalità sotto questo punti di vista ed ha anche delle alternative per quel che riguarda le librerie che si vuole utilizzare per riprodurre gli effetti audio.
Audio
Panda3d permette di utilizzare una delle seguenti librerie audio:

OpenAL
FMOD
Miles

Per l’ultima libreria elencata, è l’unica che …

mercoledì 26 Ottobre 2011 - Commenta
Sviluppare un gioco in Python: Panda3D – input

Introduzione
In questo articolo vedremo come gestire gli input in Panda3D, facendo muovere il carosello presente nella scena anche nei precedenti esempi. Nel precedente articolo abbiamo visto come Panda ci consenta di definire dei task che il motore chiama per ogni frame (a seconda delle nostre indicazioni). Questo meccanismo, insieme alla gestione degli eventi, ci permette di interagire interamente con il mondo da noi creato.
I gestori di eventi sono particolari procedure (Event handlers) che vengono richiamate quando accade una particolare situazione, un particolare “evento”. Per questo motivo gli eventi sono gestiti …

giovedì 13 Ottobre 2011 - Commenta

Introduzione
In questo articolo parleremo del Task Manager di Panda3D. Infatti il nostro Panda gestisce gli eventi in modo particolare, quasi come fossero gli eventi del nostro OS (è solo una similitudine, non prendetela alla lettera).
Questa parte è fondamentale per introdurre successivamente la gestione dei vari input e delle animazioni. Nell’esempio effettueremo solo delle rotazioni dei poligoni che abbiamo già inserito, ma potete anche provare a spostare uno di essi.
Il task manager è messo a disposizione da Showbase o da DirectStart, ma tecnicamente è un modulo che può essere importato da …

giovedì 29 Settembre 2011 - 5 Commenti

Introduzione
In questo articolo vedremo meglio quali sono i rapporti tra i vari nodi dell’albero di rendering di Panda3d; inoltre vedremo come aggiungere una texture da una semplice immagine da noi creata, per rendere più viva la scena e cominciare così a caratterizzare gli oggetti del gioco.
Per cominciare vediamo come “spalmare” la nostra immagine sull’oggetto 3d da noi creato. Il nostro cubo diventerà colorato e manterrà le proprietà acquistate, che saranno opportunatamente memorizzate nel file .egg o .bam, a seconda di come esportere l’oggetto. Ricordate che le texture applicate dovranno …

giovedì 14 Luglio 2011 - 4 Commenti

Introduzione
In quest’articolo inizieremo il nostro cammino nelle tre dimensioni. Esistono svariati SDK e Game Engine in python che permettono di addentrarsi in questo mondo. Alcune librerie, come pyglet o pyOpenGL, ma anche la stessa pygame che abbiamo utilizzato fin ora, offrono la possibilità di creare ambienti e gestire oggetti in 3D, con una dimensione molto ridotta dell’intera libreria.
Esistono poi librerie più corpose come pyOgre, porting in python del famoso motore grafico Ogre; oppure Game Engine come Crystal Space che supportano lo scripting in python per la creazione dei propri videogiochi. …