Di RobyDx (del 25/07/2007 @ 11:54:55, in DirectX9, linkato 3025 volte)
Ora che sappiamo come caricare un modello in skinning mesh non ci resta che crearlo. Impostare una animazione in skinning è molto semplice, il difficile semmai è creare un bel modello 3D da inserire nei vostri giochi ma l’abilità artistica non rientra negli obiettivi di questo tutorial. Create un modello 3D. Ora dovete aggiungere le bones ossia le ossature del modello. Andate al menù create e da lì a system e troverete le bones.
Cliccate e inseritele nella scena. Le bones cominciano sempre dalla giunzione quindi ad esempio in un braccio partite sempre dalla spalla. Create l’ossatura del modello. Non è neccessario che tutta l’ossatura sia collegata. Muovete, ruotate, ridimensionate le ossa in modo che si trovino nei giusti punti all’interno del modello, è molto importante. Quando le ossa sono ben posizionate all’interno del modello non vi resta che attaccarle al modello. Selezionate il modello e dal menù modifier e da lì a animation modifier applicate l’effetto SKIN. Ora vi troverete il menù a tendina accanto alla scena. Ora dovete attaccare le bones. Scendete nel menù finchè non trovate il pulsante editEnvelopes.
Poco più giù troverete il pulsante add che vi farà apparire la lista con tutte le bones presenti. Aggiungete quelle riferite al modello. Ora sotto il pulsante add vi apparirà la lista delle bones che avete inserito nel modello. Selezionatene una e vedrete la bones circondarsi di numerosi cerchi e il modello cambiare colore. Questo serve per regolare i weight. Noterete che vicino alle ossa selezionate si trovano dei quadratini. Muovendoci sopra il mouse e questo diventerà una specie di croce, diversa da quella con cui muovete gli oggetti. Prendete questi quadrati e muoveli. I cerchi cambieranno dimensioni ed il modello diventerà rosso dove è incluso in queste zone e blu viceversa mentre negli incroci addirittura giallo. Fate in modo che le parti che volete influenzate dall’osso siano incluse in queste zone (vi regolate con il colore del modello). Se alcune parti non saranno influenzate queste rimarranno ferme e l’animazione non verrà bene. Fatelo per tutte le bones.
Premete il pulsante editEnvelopes per tornare alla normalità. Provate ora a muovere le bones e se tutto è andato bene le ossa fletteranno per bene il modello. Se qualcosa non và ripremete edit envelopes e correggete le influenze. Quando il modello è concluso e funziona posizionate le bones nella vostra posizione iniziale. Premete quindi il tasto autoKey nel menù di animazione. Trascinate la barra del tempo avanti e date una nuova posizione alle bones. Impostate l’animazione come volete ed il gioco è fatto. Ripremete il pulsante autokey e provate l’animazione.
Il modello è ora pronto per l’esportazione con il vostro sistema preferito. Ricordate però che dovrete esportare direttamente in formato X dato che altri formati non permettono la conversione. Ne esistono solo alcuni. Quello che al momento consiglio è quello freeware della pandasoft di cui trovate il link nella sezione Game & Code. Premete il pulsante export e selezionate il formato DirectX panda. Settate il plugins come spiegato nel tutorial sulle animazioni in animation set ma tra gli elementi da esportare selezionate anche le bones.
Nota bene: il plugins non è perfetto e a volte per motivi non molto chiari le esportazioni non vengono perfettamente (a volte addirittura bloccano il caricamento). Questo non dipende dalla tecnica di caricamento. Un programma con cui vedere le animazioni in skinning mesh è il mesh viewer della microsoft. Se l'animazione funziona con questo funzionerà anche nel mio programma. Se volete usare direttamente la classe inserita nell'esempio del precedente tutorial dovete:
creare il modello per primo e collassare tutto. Il modello deve essere un unico blocco (utilizzare il comando render to texture di 3DStudioMax prima di collassare per creare da tutti i materiali un'unica texture da applicare all'intero modello). Consiglio comunque di prendere quella classe solo come elemento didattico e approfondire per conto proprio l'argomento.