ASETOOLS - Parte 3
Assegnare mappature ENV e
trasparenze ai poligoni
- ENV Mapping
Per usare la mappature ENV dovrai utilizzare il programma ASE2W perchè dei dati
specifici relativi all'ENV non sono contenuti nei file.prm (con questo intendo il
colore ENV, perchè per i file.prm il colore è impostato dal Mig). Questa
mappatura modifica la lucentezza di un oggetto e il modo in cui riflette la
luce. Quella che viene riflessa infatti non è affatto una luce ma una bitmap
contenuta nella cartella gfx di Re-Volt che sembra un faro.
La mappatura ENV è disattivata di default per tutti i poligoni in -morph, quindi
dovrai applicare il SG 30 ad un poligono per attivarne la lucentezza nel file.w.
Per il parametro -ali invece la mappatura ENV è attivata di default, e devi
cambiare il colore speculare in nero (vedi la nota più avanti) su un materiale
di base se vuoi disattivare questo effetto. Il colore scelto per la mappatura
inoltre è molto importante: se ad esempio utilizzi delle scale di grigio potrai
diminuire l'apparente intensità dell'effetto, mentre invece usare dei colori
vivaci può portare a degli strani risultati. Ricorda che, come per la
trasparenza in -ali, il colore ENV è impostato su un materiale base, quindi se
vuoi una mappatura ENV viola per una bitmap in una parte del tracciato, ma la
vuoi gialla per la stessa bitmap in un altro punto, dovrai creare un
sub-material addizionale per il secondo colore. Questo colore viene cambiato
nella schermata di modifica dei Sub-Material cambiando il colore vicino al
parametro "Specular".
Nota: se imposti il colore ENV in maniera che tutti i valori RGB siano sotto il
5%, la mappatura verrà disabilitata sia per -morph che per -ali a prescindere
dal fatto che il SG 30 sia stato applicato o no.
- Trasparenza
Questo metodo non è uguale ad utilizzare il colore Nero (RGB 0, 0, 0). La
trasparenza infatti può essere modificata per rendere un oggetto parzialmente
trasparente, come una bottiglia. Puoi comunque creare anche oggetti più opachi.
La trasparenza funziona sia con Ase2prm che con Ase2w.
Per usare la trasparenza con l'opzione -morph, devi applicare l'SG appropriato
al poligono, in accordo con la tabella di definizione degli SG.
Per usarla invece con l'opzione -ali, come si è già accennato in precedenza,
devi andare al tuo Master Material, aumentare il numero degli slot disponibili
premendo sul bottone "Set Number", decidendo quanti livelli di trasparenza
moltiplicare per il numero delle bitmaps che vuoi usare per creare diverse
trasparenze. Quando ottieni gli slot vuoti, inserisci le bitmaps appropriate e
cambia il valore di opacità del Sub-material. La mappatura UV del poligono
selezionato fa si che l'Id del materiale corrisponda all'Id del materiale
trasparente che vuoi usare nella lista dell'editor dei materiali.
Proprietà delle superfici
e Mappatura ENV
3dsm utilizza gli SG per controllare la
brillantezza. Gli strumenti Ase (sia con l'opzione -ali che -morph) utilizzano
gli SG per controllare le proprietà delle superfici. Non c'è nessuna connessione
tra le due cose, ma siccome la stessa informazione viene utilizzata in modi
differenti dalle due parti, devi tenere a mente questa particolarità ed
utilizzare gli SG in maniera da soddisfare le richieste sia di 3dsm che degli
strumenti Ase.
Tutte le combinazioni di ENV / non-ENV e varie proprietà delle superfici possono
essere ottenute. Il più delle volte è semplicemente necessario impostare l'SG
corretto. In altri casi, soprattutto quando vuoi ottenere diverse combinazioni
(proprietà della superficie + ENV + trasparenza) devi anche impostare il colore
speculare del materiale, e spezzare i vertici.
Qui di seguito trovi le istruzioni per impostare il colore speculare del
materiale in "non-nero". Di default questo colore non è mai nero (ma è grigio),
quindi se non l'hai modificato non dovresti avere problemi.
-
Modalità -morph
- Se non vuoi che il tuo oggetto brilli: non impostare l'SG30 (oppure
imposta il colore speculare del materiale come nero). Usa l'SG per la
superficie appropriata se ti serve.
- Se vuoi mettere un oggetto brillante senza proprietà delle superfici:
imposta il colore speculare come non-nero e poi imposta l'SG30.
- Se vuoi una brillantezza liscia, devi saldare i vertici. Se
la vuoi sfaccettata, devi spezzarli.
- Se vuoi mettere un oggetto brillante con proprietà delle superfici:
imposta il colore come non-nero, imposta l'SG30 e poi imposta l'SG che ti
serve per la superficie. Così i poligoni avranno il loro SG.
- Se vuoi una brillantezza sfaccettata o avere dei bordi
(all'interno dell'area con la proprietà della superficie impostata) devi
spezzare i vertici.
- Se vuoi usare differenti proprietà delle superfici, ma vuoi
che l'area brilli senza interruzioni (ad esempio vuoi qualche parte di
superficie 12, qualche altra della 13, ma vuoi che brillino insieme), devi
impostare un SG che deve essere più piccolo degli SG della superficie (in
questo esempio qualsiasi SG sotto il 12 va bene).
-
Modalità -ali
- Se non vuoi che il tuo oggetto brilli: imposta il colore speculare del
materiale sul nero. Usa gli SG appropriati per cambiare le proprietà della
superficie, se ti serve.
- Se vuoi mettere un oggetto brillante senza proprietà delle superfici:
imposta il colore speculare come non-nero e applica degli SG che non
modifichino le proprietà della superficie. Puoi usare SG1 (default), SG26,
SG27 e SG30 liberamente, senza disturbare le proprietà della superficie.
- Se vuoi una brillantezza liscia, devi saldare i vertici. Se
la vuoi sfaccettata devi spezzarli oppure usare un diverso SG libero (sempre
tra l'SG1, SG26, SG27 e SG30).
- Se vuoi mettere un oggetto brillante con proprietà delle superfici:
imposta il colore speculare come non-nero, poi imposta l'SG che ti serve per
la superficie. Così i poligoni avranno il loro SG.
- Se vuoi una brillantezza sfaccettata o avere dei bordi
(all'interno dell'area con la proprietà della superficie impostata) devi
spezzare i vertici.
- Se vuoi usare differenti proprietà delle superfici, ma vuoi
che l'area brilli senza interruzioni (ad esempio vuoi qualche parte di
superficie 12, qualche altra della 13, ma vuoi che brillino insieme), devi
impostare un SG che deve essere più piccolo degli SG della superficie (in
questo esempio qualsiasi SG sotto il 12 va bene).
Esportare i file ASE
(opzioni di esportazione)
Ricordati di salvare i tuoi file in formato .max prima di esportarli in .ase. Il
processo di esportazione è complicato e può portare 3dsm a chiudersi
inaspettatamente. Per evitare quest problema è importante impostare le giuste
opzioni di esportazione a seconda della natura degli oggetti che hai creato.
- Esportazione per ase2w o ase2prm
Per gli oggetti senza texture (ad esempio non mappati, o senza coordinate UV, o
senza mappatura UVW) bisogna lasciare NON spuntata l'opzione "Mapping
Coordinates". In 3dsm 2.5 o 3.X non puoi mischiare oggetti mappati e non nella
stessa scena ed esportarli in .ase.
I colori dei vertici vengono impostati in automatico sul bianco, quindi se non
sei andato a modificarli manualmente non dovrebbero esserci problemi durante
l'esportazione, così come le normali delle Mesh.
Le uniche cose che ti devi assicurare di disattivare sono le coordinate dei
Materiali e delle Mappature per le scene che contengono solo oggetti non
mappati.
- Esportazione per ase2taz o ase2vis
Questi due programmi usano soltanto le informazioni dei vertici degli oggetti,
ignorando tutto il resto. Durante l'esportazione, le opzioni "Mesh Definition" e
"Geometric" devono essere spuntate. Tutte le altre non sono rilevanti. 3dsm
ricorda l'ultima configurazione utilizzata, quindi impostarla una volta sola per
i file world/prm e poi non modificarla più.
Creare le Track Zones e
i Visiboxes
I programmi ase2taz e ase2vis convertono i files .ase in file per le Track Zones
e i Visiboxes di Re-Volt, offrendo le stesse funzionalità sfruttabili usando il
Mig.
Per creare i Visiboxes o le Track Zones, devi prima creare le "scatole"
all'interno di 3dsm. Posizionale lungo la pista, poi crea la lista dei file, che
mette in elenco i nomi delle tue "scatole" che saranno utilizzati per generare
le Track Zones e i Visiboxes. Lancia ase2taz o ase2vis ed il gioco è fatto.
- Scatole
Una "scatola" qui viene intesa come una mesh con 8 vertici, con i bordi
immaginari sistemati in maniera parallela o perpendicolare tra loro (un
parallelepipedo). Parliamo di bordi immaginari perchè la mesh in realtà non li
ha.
Ase2taz e ase2vis usano come detto solo le informazioni sui vertici, ignorando
tutto il resto. Quindi non dovrai assegnare nessun materiale alle tue scatole, e
potrai anche rimuovere tutte le facce e/o eventuali bordi esistenti, rispondendo
NO alla domanda "Cancellare i vertici isolati?".
Il modo più conveniente per creare una scatola è usare il comando Create Box
objects, ridimensionare, posizionare e ruotare in maniera appropriata, e poi
lasciare tutto così com'è (non devi unirle le scatole in una Mesh). Non devi
inoltre applicare nessun modificatore che deformi la scatola rendendo i bordi
non più paralleli/perpendicolari tra loro. Ricorda che le Track Zones possono
essere ruotate, mentre i Visiboxes devono rimanere paralleli agli assi.
Ogni scatola che crei serve come base per più di una scatola in Re-Volt. Per
esempio, assumiamo che tu abbia una pista con molte Telecamere, ma una zona che
nessuna riesce a coprire. Puoi creare una scatola che copra l'area in questione,
e nel file Vis creare l'elenco di tutte le "scatole Camera" sul quale si
applica. Ogni occorrenza genererà una scatola separata (che copre la stessa
area).
- Listfiles
I Listfiles sono file di testo in formato ASCII, che mettono in lista i nomi
delle tue scatole da usare per generare le Track Zones e i Visiboxes. Le linee
vuote vengono ignorate. Le linee che iniziano con il carattere # anche (vengono
utilizzate per i commenti). Ogni linea può contenere uno o più nomi, separati da
uno spazio. Se il nome di un oggetto contiene spazi al suo interno, ricordati di
inserirlo all'intero delle "".
Nota come il file esportato in ASE non contiene mai le "" nei nomi.
L'esportatore converte automaticamente questi nomi, utilizzando gli apici. Per
esempio, se hai un oggetto che si chiama "red" all'interno di 3dsm, nel file ASE
lo vedrai come 'red'.
Esempi di nomi validi:
unquoted_name
'unneeded_quote_makes_no_harm'
'single quote name'
"double quote name"
"quoted quote ' here"
Fai attenzione a chiudere le virgolette o gli apici quando li apri. Se lo
dimentichi, Ase2vis e Ase2taz tratteranno il resto della linea come il nome di
un oggetto, e otterrai un "Panic error". Usa quindi nomi estremamente semplici
per i tuoi files.
- Tazfiles
I Tazfiles contengono i nomi in ordine rispetto al tuo tracciato di gara, a
partire dalla linea del traguardo. Il Taz Id 0 viene assegnato all'oggetto della
prima linea, e viene incrementato per ogni linea. Se ci sono più nomi sulla
stessa linea, questi avranno lo stesso Id. Questo viene utilizzato quando hai
Track Zones separate per delle strade alternative o delle scorciatoie sulla
pista. Il nome del Tazfile può essere specificato con l'opzione -f di Ase2taz.
Se omesso, il programma cerca un file chiamato Tazfile nella directory dove
risiede il file Ase.
Quello che segue è un esempio di Tazfile:
#Tazfile for MyTrack
#From start until house
tazbox_start
tazbox_road
tazbox_yard
#Two alternate paths:
#one goes through the house (lobby+kitchen), other one goes round
the house in an alley
tazbox_house_lobby tazbox_alley_1
tazbox_house_kitchen tazbox_alley_2
#Alternate paths meet outside the house in the meadow
tazbox_meadow
#Meadow was the last one; next will be the start again
- Visfiles
I Visfiles contengono l'elenco delle Camera e delle corrispondenti scatole Cube.
Ogni linea contiene il nome della Camera, un ":" e il nome del Cubo. Ci può
essere qualsiasi numero di Camera e Cube con lo stesso Id. Avere più Camera e
Cube con lo stesso Id è utile quando vuoi coprire una determinata area, ma non
riesci a farlo con una scatola sola.
Puoi anche creare una scatola Camera senza la scatola Cube, o viceversa, ma è
un'idea abbastanza stupida perchè diventano inutilizzabili. Ase2vis restituisce
un errore se c'è qualche problema di questo tipo: controlla di non aver
dimenticato qualche Camera o qualche Cube.
Il ":" deve essere separato dagli altri nomi tramite lo spazio. Per esempio, se
scrivi camera: questo sarà interpretato come un
unico nome. Se scrivi camera : allora il programma
si aspetterà un altro nome dopo il ":".
I Visiboxes generati vanno dall'Id 0 in avanti. In questo momento non so qualche
ordinamento sia migliore per gestire i Visiboxes, quindi dovrai trovare la
maniera che va meglio per te. Il nome del Visfile può essere specificato con
l'opzione -f di Ase2vis. Se omesso, il programma cerca un file chiamato Visfile
nella directory dove risiede il file Ase.
Quello che segue è un esempio di Visfile:
#Visfile for MyTrack
#From start we don't see the alley and the whole house
camera_start : cube_house cube_alley cube_whatnot
#From yard we can see the house and into the lobby, but not into kitchen
camera_yard : cube_whatnot cube_kitchen
#Through the house (lobby+kitchen), we don't see out; from the alley we don't see in
#Note there are two camera boxes with the same id (belonging to same Cubes)
camera_lobby camera_kitchen : cube_start cube_alley cube_whatnot
camera_alley : cube_lobby cube_kitchen
#From the meadow we don't see the yard
camera_meadow : cube_yard
- Consigli utili
La cosa più importante da tener presente è che le Track Zones devono leggermente
sovrapporsi una con l'altra, ed è meglio che lo facciano anche le scatole delle
Camera. Se le Track Zones non si sovrappongono non sarai in grado di completare
il giro della pista. Se le scatole della Camera non si sovrappongono (ad esempio
ci sono posti dove le Camera si muovono in aree non coperte dalle scatole
Camera) avrai un rallentamento degli Fps. Per la sovrapposizione puoi utilizzare
2 metodi. Puoi farlo tu manualmente, nel momento in cui crei le varie scatole
all'interno di 3dsm, oppure puoi crearle tutte adiacenti, senza sovrapposizioni,
e poi utilizzare il parametro -g con il programma Ase2taz o Ase2vis, per
ingrandire leggermente le scatole in un secondo momento, creando quindi le
sovrapposizioni. Questo parametro influenza soltanto le Track Zones e le Camera,
ma non i Cube.
Quando crei i Visiboxes,cerca di coprire la maggior area
possibile con il minor numero di Cube. Questo per evitare eccessiva pesantezza
grafica. In ogni caso pianifica con attenzione dove sistemare i Visiboxes. Se
crei un Cube che è visibile da diverse Camera, assicurati che sia veramente
invisibile da entrambi i punti di vista. Una volta che hai creato il tuo
file.vis, usa il Mig per controllare che tutto sia a posto.
Crea prima le Track Zones, e poi dedicati agli Ai Nodes.
Sembra che ci sia una specie di legame tra le due cose, e se cancelli una Track
Zone esistente (o la sposti da dove si trova), Re-Volt potrebbe andare in crash
quando carichi il livello.
Opzioni della linea di comando
La sintassi dei programmi eseguiti tramite linea di comando è
la seguente:
ase2prm [-v] [-q] [-l] [-sg] [-ali|-morph] [-c] [-o=outfile.prm] file.ase [object] [object]
ase2w [-v] [-q] [-l] [-sg] [-ali|-morph] [-o=outfile.w] file.ase [object] [object]
ase2taz [-v] [-q] [-l] [-sy] [-g=growth] [-o=outfile.taz] [-f=listfile] file.ase [object] [object]
ase2vis [-v] [-q] [-l] [-sy] [-g=growth] [-o=outfile.vis] [-f=listfile] file.ase [object] [object]
|
OPZIONI LINEA DI COMANDO
|
|
Opzioni |
Descrizione |
-v |
Attiva la modalità Verbose, cioè il programma genera l'output di tutti i passaggi che effettua. Utile per capire quando e dove qualcosa non funziona per il verso giusto. |
-q |
Attiva la modalità Quiet, eliminando quasi tutto l'output. Non viene mostrato nulla tranne i Warning e gli Errori. |
-l |
Non genera alcun file, ma mostra solo la lista delle informazioni del file.ase. Utile per ricordare che nome hai dato ai vari oggetti che hai utilizzato. |
-sg |
Genera un sommario delle definizioni degli SG per Ali e Morph. |
-sy |
Genera un sommario della sintassi dei Listfiles per Ase2taz e Ase2vis. |
-ali | -morph |
(Si possono abbreviare in -a | -m) Abilitano opzioni avanzate come trasparenza e proprietà delle superfici. Utilizzano gli SG in maniera differente, quindi attenzione. Non si possono usare in contemporanea. |
-c |
Centra il "punto di Grip" sull'instance creata (solo per Ase2prm). Il punto di grip è l'origine delle coordinate locali per l'instance che viene creata. Quando inserisci un'instance nel Mig, vedrai una piccola tripletta rappresentante i 3 assi e il punto di Grip. Da usare come base per la rotazione e il posizionamento dell'instance. Se il parametro viene omesso, il punto di Grip dell'instance sarà quello dell'origine delle coordinate nel World file in 3dsm (da non confondere con il "punto di Pivot" che è l'origine del sistema di coordinate locali). Se non usi questa opzione sistema le tue mesh con attenzione perchè potresti creare delle Instance talmente lontane da non riuscire neanche a vederle. |
-o=outfile |
Permette di specificare il nome del file di output. L'estensione del file deve essere sempre in accordo con il programma utilizzato. Se omesso, l'output viene generato nella stessa directory del file.ase, con lo stesso nome e la corretta estensione. |
-f=listfile |
Può essere utilizzato per specificare il Listfile usato da Ase2taz o Ase2vis. Se omesso, i valori di default utilizzati saranno -f=Tazfile o -f=Visfile, nella stessa directory del file.ase. |
-g=growth |
Il valore specificato qui viene usato per ingrandire leggermente le scatole create in 3dsm, per permettere la sovrapposizione. Il valore è espresso in unità generiche, che non hanno nulla a che vedere con le unità di misura all'interno di 3dsm. Lo 0 non è consentito. |
[object] [object] |
Permette di esportare oggetti singoli o multipli in una grande scena. Immagina un file.ase chiamato CUCINA.ase, da questo puoi esportare solo la sedia e il tavolo, o il bollitore e la torta, o la torta e la sedia, etc. Il programma si riferisce agli oggetti come a dei "nodi", pensa a questi come interscambiabili con Ase2prm e Ase2w. |
|
|
|
|
Se non specifichi nessun input file oppure se inserisci il
nome sbagliato del file di input otterrai un file.prm troncato, e il file ncp
non funzionerà correttamente, causando il crash di Re-Volt.
Le parentesi quadre [] indicano un parametro opzionale, e non vanno scritte
nella linea di comando.
|
ESEMPI
|
|
Linea di comando |
Descrizione |
ase2prm -l ExampleA.ase |
Crea la lista dei componenti di ExampleA.ase |
ase2prm -v -morph ExampleA.ase box01 |
Converte Box01 da ExampleA.ase in ExampleA.prm usando -morph e con modalità Verbose attiva |
ase2prm -m -c ExampleA.ase |
Converte ExampleA.ase in ExampleA.prm usando -morph; il punto di Grip viene centrato sull'Instance |
ase2w -l ExampleA.ase |
Crea la lista dei componenti di ExampleA.ase |
ase2w -v -morph ExampleA.ase box01 |
Converte Box01 da ExampleA.ase in ExampleA.w usando -morph e con modalità Verbose attiva |
ase2w -m ExampleA.ase |
Converte ExampleA.ase in ExampleA.w usando -morph |
ase2prm -l ExampleB.ase |
Crea la lista dei componenti di ExampleB.ase |
ase2prm -v -ali ExampleB.ase plane01 |
Converte plane01 da ExampleB.ase in ExampleB.prm usando -ali e con modalità Verbose attiva |
ase2prm -a -ali ExampleB.ase |
Converte ExampleB.ase in ExampleB.w usando -ali |
ase2w -l ExampleB.ase |
Crea la lista dei componenti di ExampleB.ase |
ase2w -v -ali ExampleB.ase plane01 |
Converte plane01 da ExampleB.ase in ExampleB.w usando -ali e con modalità Verbose attiva |
ase2w -a ExampleB.ase |
Converte ExampleB.ase in ExampleB.w usando -ali |
ase2taz ExampleC.ase |
Converte ExampleC.ase in ExampleC.taz usando il listfile di default "Tazfile" |
ase2vis -f=vislist.txt ExampleC.ase |
Converte ExampleC.ase in ExampleC.vis usando "vislist.txt" (dalla directory corrente) |
|
|
|
|
Quando crei i tuoi file.prm e .w i programmi
generano anche i file.ncp. Compariranno anche dei file.i_p che
contengono dati intermedi. |