Animazione Texture

Raccolta di Tutorials & manuali relativi al Re-Volt originale, a periodi passati e archiviati per valore storico

Moderatori: Michelangelo, ciccio

Rispondi
Avatar utente
AngelS93
Utente
Messaggi: 1716
Iscritto il: lun 5 ott 2015, 20:47
Località: Modugno (BA)

Animazione Texture

Messaggio da AngelS93 » lun 12 ott 2020, 18:32

Animazione Texture

Autore originale: Kallel A.Y.
Link originale: kallelay.users.sourceforge.net/episode1.htm
Tradotto da: TheFactor82

Quello che vado ad illustrarti è attualmente l'unico modo per rendere animato un file World (.w) di Re-volt. L'immagine seguente ne è una dimostrazione (apri l'immagine e, una volta visualizzata, clicca nuovamente su di essa per visualizzare l'effetto):


968


Puoi scaricare il pacchetto Multiframe direttamente dalla sezione DOWNLOADS di questo forum, all'interno della cartella TOOLS. Le texture sono opera di Urnemanden.

Passo 1. Impostare il tipo richiesto

Codice: Seleziona tutto

Flags conosciuti:
[Quad flag] = 1
[Double-Side Flag]=2
[Translucent Flag]=4
[TexAnim Flag] = 512
[ENV on Flag] = 1024

Per il tipo di mesh, la "Texture Animated mesh" deve avere il flag [TexAnim Flag].
Esempi:
- una mesh Triangular con TexAnim attivo: [TexAnim Flag] -> 512
- una mesh Quad con TexAnim attivo: [Quad Flag] + [TexAnim Flag] = 1+512 -> 513
- una mesh Quad in dimensione raddoppiata con TexAnim attivo: [Quad Flag] + [Double-side Flag] + [TexAnim Flag] = 1+2+512 -> 515

Nota: ASE2W converte le mesh Quad in mesh Triangular.

Passo 2. Da Triangular a Quad

E' altamente consigliata la conversione delle mesh Triangular in Quard. Nel pacchetto Multiframe c'è un file Export w.bat, ma puoi comunque creare tu il tuo file w personale. La prima mesh (CUBE) è quella con l'effetto animato, mentre l'altra è semplicemente l'aeroplano bianco.
Dopo la decodifica, viene creato un file chiamato "multiframe.w.txt"

Codice: Seleziona tutto

#############################################
# multiframe.w
#############################################

#cubes count
rvlong 2

#cube:1
#Bounding sphere (X,Y,Z, radius)
rvfloat 358.7139
rvfloat 958.716
rvfloat -658.2766
rvfloat 561.7676
#Bounding Box (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax)
rvfloat -177.2125
rvfloat 894.6403
rvfloat 789.4481
rvfloat 1127.984
rvfloat -659.2766
rvfloat -657.2766
#Poly count
rvshort 2
#Vertex count
rvshort 4
#Poly n?1

Fai particolare attenzione a queste due linee:

Codice: Seleziona tutto

#Poly count
rvshort 2

Sono così perchè ASE2W divide la mesh Quad in Triangular. Dobbiamo quindi procedere a convertirla manualmente in una mesh Quad:

Codice: Seleziona tutto

#Poly count
rvshort 1

969


Le facce risulteranno così:

Codice: Seleziona tutto

#Faces (vertex index which link to a face)
rvshort 2
rvshort 1
rvshort 0
rvshort 0

(Nota che la seconda riga "rvshort 0" non viene presa in considerazione dalle mesh Triangular)
Cambia le righe in questo modo:

Codice: Seleziona tutto

#Faces (vertex index which link to a face)
rvshort 0
rvshort 2
rvshort 3
rvshort 1

970


Ora devi aggiungere un po' di cose. Ma prima, elimina il secondo poligono (questo):

Codice: Seleziona tutto

#Poly n?2
#type
rvshort 0
#texture
rvshort 0
#Faces (vertex index which link to a face)
rvshort 1
rvshort 2
rvshort 3
rvshort 0
#Vertex Color [3 or 4 depends on the type] (including alpha channel)
rvulong 16777215
rvulong 16777215
rvulong 16777215
rvulong 16777215
#UV map
#(1) UV
rvfloat 0
rvfloat 0.1561
#(2) UV
rvfloat 0.8141
rvfloat 0
#(3) UV
rvfloat 0
rvfloat 0
#(4) UV
rvfloat 0
rvfloat 0

Ora devi utilizzare questa mappatura UV:

Codice: Seleziona tutto

#(1) UV
rvfloat 0.8141
rvfloat 0
#(2) UV
rvfloat 0
rvfloat 0.1561
#(3) UV
rvfloat 0
rvfloat 0
#(4) UV
rvfloat 0
rvfloat 0

Le prime due mappature UV non dovrebbero dare problemi. Per la quarta mappatura, devi prendere la prima riga della prima mappatura e la seconda della seconda, ottenendo questo:

Codice: Seleziona tutto

#(4) UV
rvfloat 0.8141
rvfloat 0.1561

Ricorda però che la mappatura 3 è inserita dentro 2 e 1, quindi:

Codice: Seleziona tutto

#(3) UV
rvfloat 0
rvfloat 0
#(4) UV
rvfloat 0.8141
rvfloat 0.1561

deve diventare

Codice: Seleziona tutto

#(3) UV
rvfloat 0.8141
rvfloat 0.1561
#(4) UV
rvfloat 0
rvfloat 0

Alla fine la mappatura UV deve risultare così:

Codice: Seleziona tutto

#(1) UV
rvfloat 0.8141
rvfloat 0
#(2) UV
rvfloat 0
rvfloat 0.1561
#(3) UV
rvfloat 0.8141
rvfloat 0.1561
#(4) UV
rvfloat 0
rvfloat 0

Passo 3. 513 per Quad, 512 per Tri

Il codice

Codice: Seleziona tutto

#Poly n?1
#type
rvshort 1

deve diventare

Codice: Seleziona tutto

#Poly n?1
#type
rvshort 513

Passo 4 Animazione della texture / Multiframes

Il codice

Codice: Seleziona tutto

# -----------------------------------
#multiframe count
rvlong 0
si può trovare nelle ultime linee. I Multiframes sono all'incirca strutturati così:

rvlong [Animation count]
- rvlong [FrameCount]
- rvlong [Texture Page]
- rvfloat [Time in seconds]
- rvfloat [U1]
- rvfloat [V1]
- rvfloat [U2]
- rvfloat [V2]
- rvfloat [U3]
- rvfloat [V3]
- rvfloat [U4]
- rvfloat [V4]


971


Osserva i files Toy2.w e multiframe.w per comprendere al meglio la struttura.

Nota bene: per ottenere la mappatura UV, è stato usato 3d Studio Max.
Classe '93, in cerca di un posto nel mondo vagando con Humma per il Toytanic.


1078 "Spectare o non spectare? Questo è il dilemma"
autore immagine: WheelSmith18

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite