Esportare file .x da 3DS MAX

Se vorrete creare un gioco 3D originale, sarà necessario crearvi da soli dei nuovi modelli tridimensionali.
In questa sessione cerchrò di fornirvi gli strumenti giusti perché funzioni tutto a dovere. Non parleremo di codice ma solo di come creare correttamente un modello utilizzabile nei nostri gioco.
Per fare tutto ciò utilizzeremo i file .x esportati da 3DS Max con l'ausilio dell' exporter KW Xport.

XNA può caricare di sua natura sia i file .fbx che i file .x, dunque, quando si importano tali files nella soluzione del nostro progetto, verranno riconosciuti e processati nel modo corretto, senza dover far altro di nostro pugno. Esistono inoltre altri modi per caricare e processare anche files di altro tipo. Noi ci atterremo a ciò che ci rende disponibile XNA che è già di per se largamente sufficienete ai nostri scopi. In particolare useremo i file .x per i quali esistono diversi exporter (plug-in per esportare da programmi tipo 3DS, Maya ecc..) gratuiti e funzionali.
Dal mio canto posso indirizzarvi su programmi che uso personalmente, ovvero, 3DS MAX con il plug-in grtuito KW Xport. Ho potuto testare questo exporter su Max 8 e Max 2009 e funziona su entrambi senza problemi.

Dunque, procediamo nel download dell'exporter ed installiamolo.
A questo punto avremo un nuovo tipo di files da scegliere per l'esportazione.
Vediamo prima come impostare il nostro modello sul MAX perché sia visualizzato correttamente su XNA.

Il punto d'origine di un modello

Come ormai saprete, quando impostiamo la posizione di un modello su XNA, dovremmo lavorare con un Vector3, ovvero un punto nello spazio 3D. Bisogna ora stabilire quale punto del modello sarà posizionato sul Vector3 che abbiamo impostato su XNA. Ovviamente un modello comprende tanti punti nello spazio 3D e dovremmo impostare noi qual'è il suo punto d'origine, quello cioè che verrà utilizzato per tutte le trasformazioni, sia di posizionamento che come fulcro di rotazione.

Molto semplicemente, il punto d'origine del modello sarà identificato nel punto 0,0,0 delle viewport del 3d Studio, ovvero il centro degli assi cartesiani del MAX.

centrato In questo caso il nostro modello è centrato correttamente e il punto che verrà preso in considerazione per le trasformazioni su XNA sarà posizionato alla base del tronco del nostro albero.

 

centrato In questo caso invece il nostro modello non è centrato correttamente e quando si dirà ad XNA di posizionare l'albero su un Vector3, sarà quel punto ad essere centrato sul Vector3. Dunque il modello risulterà spostato in base a come lo abbiamo posizionato su 3DS MAX.

Stabilito il punto d'origine del modello e fatto tutto ciò che riguarda la modellazione, possiamo procedere nell'esportazione dell'oggetto.
Andiamo su "Export" (o Esporta se in italiano) ed esportiamo in formato .X.

esporta in X


Il formato “.x” è stato introdotto da Microsoft ormai da molte versioni delle librerie DirectX. Ovviamente esportare in questo formato non è esclusiva del 3DS Max, tutti i programmi di modellazione 3D possiedono dei plug-in per l'esportazione in .x, ormai punto di riferimento per i modelli 3D nel campo videoludico.
Se provate ad aprire un file. x con un qualsiasi editor di testo vi troverete di fronte ad una serie di numeri e strutture. Tutto quello che vedete è il necessario per impostare le posizioni dei vertici, le normali, il percorso delle eventuali textures, le animazioni e tutto ciò che può riguardare un modello tridimensionale. Dunque anche i files .x non sono altro che del testo che, se letto con il programma adeguato, visualizzerà il nostro modello in base alle informazioni in esso contenuto. Da ricordare che nei file.x verranno salvate anche le eventuali informazioni che riguardano le animazioni del modello, argomento che riprenderemo seguito.

Una volta scelto il nome del file, ci troveremo di fronte questa bella finestra che ci permette di scegliere alcuni parametri per l'esportazione.


Nel riquadro "Geometry" potremo selezionare alcune opzioni che riguardano la geometria, come se esportare o meno le informazioni che riguardano le Normals (l'orientamento "dentro/fuori" delle facce del modello), il numero di canali della mappatura, la scala del modello e diversi altri parametri che al momento non ci interessano.

Nel riquadro "Animation" potremmo impostare tutto ciò che riguarda le animazioni (se presenti), come il loro nome, da quale frame iniziano e finiscono e la velocità di esecuzione.
Parleremo più in dettaglio di questo argomento in una apposita lezione. Per il momento, se non siamo in presenza di modelli animati, possiamo togliere la spuntatura da "Export Animation".

Nota: Nell'esempio quì riportato abbiamo due animazioni, una che abbiamo chiamato "idle" (attesa, fermo) e una "walk" (camminata). La prima va dal "frame" (fotogramma) 0 ed è luga 100 frame, dunque andrà dal frame 0 al frame 100, la seconda parte dal frame 201 ed essendo lunga 50 frame, arriverà fino al frame 251.

Il pannello "Materials" riguarda ovviamene i materiali e "Misc" altre opzioni che lasceremo in bianco.

Esportare con KW

Premiamo OK ed avremo esportato il modello in questione, adesso non ci resto altro che caricarlo nel nostro progetto XNA ed utilizzarlo a piacimento sul nostro fantastico gioco!