Creare texture animate


Autore: Talco
Programmi: 3D Studio Max, Kam's Scripts, Animating Texture Tool, un IMG Editor, TXD Workshop, MapED (facoltativo), un programma di grafica (es. Photoshop, Gimp, ecc...) e Animagic GIF

Con questa guida spiegherò come inserire in una mappa di GTA San Andreas una texture animata, esattamente come se fosse una qualunque gif dinamica. Questa guida la considero di livello avanzato, quindi richiede una minima conoscenza del modding di GTA. Non spieghero' dove recuperare gli script di KAM per gestire i vari file o come creare un TXD o un IPL, per questo esistono altre guide o tutorial.

Procuriamoci l'immagine che vogliamo inserire in GTA, per questa guida ho scelto questa:

Apriamo l'immagine con un programma per gestire le gif animate (in questa guida userò AnimagicGIF) e salviamo singolarmente i vari fotogrammi tramite la funzione File > Save frames.

Successivamente con un programma di grafica, li assemblate in questo modo in un'unica grande immagine:

Ricordate che la grandezza dell'immagine deve essere di una grandezza compatibile (es. 32x64, 128x64, 128x256, 512x256, 512x512, ecc...), quindi ridimensionatela a dovere. E' molto importante essere precisi e che i frames partino dal basso verso l'alto, esattamente in questo modo:

A questo punto la texture e' pronta, possiamo avviare 3d studio max con la mappa in cui vogliamo inserire la texture animata. Per questa guida, usero' un semplice modello 3D a forma di cartello.
Mappiamo ora il modello facendo in modo che dove vogliamo che si crei l'animazione, ci sia il primo frame, quindi quello in fondo a sinistra; possiamo usare l'UVW Mapping con questi settaggi (chiaramente validi solo per questa animazione).

il mio modello risulta così:

Ora esportiamo il DFF con gli script di KAM.
Tramite il comando MAX Script > run script apriamo il file TVAnimHelper.ms, ci apparirà così:

Su U count e V count dobbiamo inserire il numero di frame che abbiamo nella nostra immagine. Nel nostro caso abbiamo disposto 3 frames in orrizontale per 4 frames in verticale, quindi:
U count 3
V count 4
Premiamo Pick material e come nello screenshot che segue, selezionamo il materiale che vogliamo animare, che precedentemente abbiamo usato per mappare (in questo caso nonno).


Se ci chiede Instance or Copy scegliamo Instance.
Per ora la parte command line lasciamola cosi' com'e', spieghero' come personalizzarla piu avanti. Dovrebbe apparire cosi':


Clicchiamo su GO.
Sembra non sia successo nulla, ma lo script ha creato l'animazione.
Sempre tramite MAX Scripts > run script apriamo il secondo script: Uvanim_tool_v2.0.ms, sarà così:


Cliccando su pick material selezionamo lo stesso materiale di prima, nonno;
su select dff sfogliamo le cartelle e andiamo a selezionare il .dff che abbiamo esportato prima, mentre su texture to aplay selezionamo fra le varie texture che abbiamo usato nella mappa, quella che vogliamo animare, nel nostro caso nonnosprite.
La finestra deve essere cosi':


Ora possiamo cliccare su Append Animation.
Quest'ultima operazione ha fatto creare automaticamente un dff chiamato temp_nomefile.dff, (situato nella stessa cartella del precedente dff) ed è proprio il dff che contiene l'animazione della texture, quindi quello che ci serve.
Ora create il TXD con le texture, il COL, e insieme al DFF importateli nel gta3.img.
Create IDE, IPL, modificate il gta.dat e andate a vedere la vostra opera!

COMMAND LINE:
La Command Line di default si crea automaticamente, ma noi possiamo cambiarla a nostro piacimento per controllare la nostra animazione. Per esempio analizziamo quella usata nella guida:

1..12,time=1.0

1= frame 1

.. = i frame che ci sono fra 1 e 12 (quindi 2,3,4,5,6,7,8,9,10,11)

12 = frame 12

time=1.0 = esegui l'animazione in 1 secondo

Sarebbe stato uguale se la command line fosse stata scritta così:

1,2,3,4,5,6,7,8,9,10,11,12,time=1.0

Le command line possono essere anche molto complesse, e divise in blocchi

1..25,time=1.0; time=3.5; 1,3,5..10,time=8.0

il ; serve a dividerei vari blocchi

il time=3.5 da solo (senza le indicazioni dell'animazione) indica una pausa di 3 secondi e mezzo)

non usare la pausa come primo blocco


Advertisements