RVGLUE - FAQ
In questa sezione abbiamo tradotto
il FAQ (Domande Richieste di Frequente) del programma Rvglue, per facilitarti
nella risoluzione dei problemi più comuni che puoi incontrare.
1. Come si usa questo
programma?
Ecco, questa è già una domanda
alla quale non si può rispondere. Ci sono molti documenti riguardo a questo
programma, in Italiano e in Inglese. Leggili, tutti. Se proprio non riesci a
fare quello che devi, chiedi, ma sii il più completo e chiaro possibile nel
porre la tua domanda. Ad esempio se sul forum scrivessi "Ciao, volevo usare
Rvglue ma non ci sono riuscito, mi dà un errore, c'è qualcuno che mi aiuta?"
sicuramente riceveresti risposta perchè la gentilezza fa parte della buona
educazione, ma hai scritto un messaggio inutile. Prova con qualcosa tipo "Ciao,
ho scritto questo File di Comando: (...) Ho eseguito rvglue con questo file e
non ho ricevuto messaggi di errore. Il file.w e .ncp sono stati creati con il
nome corretto, ma quando provo a giocare sulla pista, resto incastrato nel
pavimento. Tutto sembra a posto, ma non c'è modo di muoversi..."
2. Il programma funziona,
ma più lo uso e più i files diventano lunghi.
Probabilmente stai leggendo e
scrivendo lo stesso file. Se il tuo File di Comando è così:
create ( nhood1 )
nhood1.w
Allora significa che stai
aggiungendo informazioni allo stesso file che stai leggendo. Usa files diversi
per input e output.
3. Non succede nulla
quando faccio doppio click sull'icona del programma.
E così deve essere, perchè Rvglue
non è un programma di Windows. Non apre alcuna finestra e non ti chiede cosa
deve fare. Sei tu che devi scrivere dei file per fargli fare quello che vuoi!
4. Come faccio a rendere i
vetri delle auto trasparenti?
Questa è una cosa un po'
complicata, quindi eccoti una guida passo-passo (immaginiamo che tu abbia già
esportato il corpo della tua auto e abbia il file da qualche parte, chiamato "mybody.m"):
- Prendi i programmi Rvtexmap e Rv-sizer (li puoi trovare nella raccolta Rvminis,
sezione Downloads - Utilità)
- Crea un'Instance della tua auto, poi rinomina il file mybody.prm
- Ingrandiscilo, perchè un'auto è un oggetto troppo piccolo per poterci piazzare
sopra una Track Zone. Usa Rv-sizer (rv-sizer mybody.prm sa=50)
- Prendi una pista che non contenga NESSUNA Instance (se non sei sicuro puoi
rinominare o cancellare i file.fin e .fi-). Copia la tua Instance nella cartella
della pista
- Cancella o rinomina i file.taz e .ta-, perchè ci serve un file delle Track
Zone pulito.
- Entra in modalità editing delle Instance e inserisci l'auto dove vuoi. Non
ruotarla.
- Se l'auto si vede male (invisibile o con poligoni mancanti) usa Rvtexmap per
aggiustarla: rvtexmap mybody.prm *:*:*=a:*:* (ora la texture viene presa dal
foglio a.bmp della pista, ma non ha importanza finchè riesci a vedere la tua
auto.
- Entra in modalità editing delle Track Zone. Sistema delle Zone con Id 0 in
maniera tale che: ogni vertice di ogni poligono di vetro della macchina sia
all'interno di una Track Zone; ogni poligono che non appartiene ai vetri della
macchina abbia almeno un vertice fuori da tutte le Zone.
- Scrivi un File di Comando che faccia rendere a Rvglue i vetri trasparenti (i
nomi dei file delle Track Zone e delle Instance di questo esempio sono fittizi):
create tbody.prm
bongo.fin (
default ( off )
mybody (
tazsplit (
bongo.taz
0 ( transparency 128 )
)
)
)
- Esegui Rvglue.
- Ora ridimensiona l'Instance creata com'era in origine ("rv-sizer tbody.prm
sa=0.02")
- Rinomina il file da .prm a .m ed il gioco è fatto!
5. Come posso creare Instances con Rvglue?
Scrivi il suffisso desiderato nella Dichiarazione "Create" (ad
esempio "Create myinst.prm"). Il programma creerà i files myinst.prm, myinst.i-p
e myinst.ncp.
In questo modo puoi fare qualsiasi cosa (anche convertire in una Instance intere
parti di pista. Ricorda però che un'Instance non può contenere tanti dati quanti
una pista).
6. Ho ricevuto degli errori "PANIC". Cosa devo fare?
I messaggi "PANIC" appaiono quando Rvglue rileva che ci sono
stati errori di calcolo (ad esempio quando cerca di ruotare un'instance che non
è stata caricata). Controlla la sintassi del tuo File di Comando.
7. Dopo aver usato Rvglue alcune delle mie Instances
non sono più solide.
Le Instances che si trovano lontano dal corpo della pista non
sono mai solide. Se sei partito da una pista esportata dal Track Editor, hai
aggiunto delle Instances e tagliato alcune parti della pista, le tue Instances
potrebbero trovarsi fuori dall'area della pista. La soluzione sta nel piazzare
delle Instances false e unirle al corpo del tracciato per aumentarne le
dimensioni, e alla fine unire tutte le Instances che prima erano fuori
dall'area. Per spiegare meglio il discorso, immagina una situazione come in
questo esempio:
Vista dall'alto
L'area blu che vedi è il corpo della pista (creato con Rvglue
o esportato dal Track Editor). Le due forme (rossa e verde) sono due Instance.
Quella verde non ha problemi, perchè è all'interno del corpo della pista, ma
quella rossa non è solida, perchè è fuori dall'area. Per risolvere il problema,
creiamo una Instance fasulla e uniamola al restante corpo della pista:
Vista dall'alto
Ora l'Instance rossa è nell'area del tracciato, e può essere
solida. Siccome questo problema nasce dal file .ncp della pista, l'Instance
fasulla deve essere presente solo lì e quindi puoi tranquillamente renderla
invisibile. Ma se invece unisci direttamente l'Instance rossa al corpo della
pista, non c'è bisogno di creare l'Instance fasulla.
Questo problema si manifesta solo con le Instances.
8. Rvglue mi dice che mancano delle Instances, ma ci
sono!
Se ottieni un errore riguardo a delle Instances con il nome
più corto di quello che stai utilizzando (ad esempio l'errore fa riferimento
all'instance myinstan.prm ma tu stai usando l'Instances myinstance.prm), allora
devi semplicemente spiegare a Rvglue qual'è il vero nome dell'Instance con
l'opzione "realname":
myfin.fin (
myinstan ( realname myinstance )
)
Il problema si manifesta con le Instances che hanno il nome
più lungo di 8 caratteri, e qualche volta anche con nomi più brevi. Re-Volt
scrive sempre solo i primi 8 caratteri del nome delle Instances nel file.fin, ma
in certi casi anche di meno.
9. Rvglue mi dice che mancano delle Instances, ma non
le ho usate!
Può essere che hai usato un'Instance in precedenza e
successivamente hai cancellato il file.prm. Re-Volt ignorerà completamente
quell'Instance, ma il suo riferimento nel file.fin continua ad esserci. Usa una
qualsiasi Instance falsa (rinominandola col nome dell'Instance che dà problemi
in Rvglue) e tagliala via usando l'opzione off.
myfin.fin (
dummyinstance ( off )
)
10. Sono confuso riguardo al funzionamento del
programma.
Molti dei problemi che incontrerai possono essere risolti se
hai capito come funziona Rvglue. La tabella che segue mostra i flow-chart esplicativi di diversi modi di utilizzo di Rvglue.
|
FLOW-CHART
|
|
Descrizione |
Immagine |
Il programma legge alcuni files di input, applica delle modifiche ai dati che ha letto e scrive nuovi files di output che contengono i risultati delle modifiche che desideravi |
|
File di input differenti possono avere differenti set di modifiche |
|
Alcuni modificatori (le Opzioni) dividono i dati letti in input e li dirigono a diversi set di modifica (come l'Opzione "legosplit") |
|
|
Ad esempio, questo File di Comando potrebbe essere difficile
da capire:
create yeppa
user001.w (
legosplit (
lamp ( off )
track (
tazsplit (
some.taz
0 ( surface mud )
1 ( transparency 128 )
)
)
pwall ( color 255 255 255 )
)
)
Ma se sai come il programma legge e scrive i dati, dallo
schema dovrebbe risultare un po' più chiaro:
11. Non voglio scrivere la stessa opzione tante volte.
Osserva questo File di Comando:
create ( nhood1 )
haus01.fin (
dachkies ( s(15) )
dachkikl ( s(15) )
)
haus02.fin (
dachkies ( s(15) )
dachkikl ( s(15) )
wassramp ( s(21) )
)
haus03.fin (
)
haus04.fin (
dachkies ( s(15) )
dachkikl ( s(15) )
boxkdach ( s(3) )
dachbeto ( s(3) )
luftscha ( s(21) )
wassramp ( s(21) )
)
haus05.fin (
)
haus06.fin (
teppichg ( s(6) )
teppichk ( s(6) )
)
haus07.fin (
dachkies ( s(15) )
dachkikl ( s(15) )
luftscha ( s(21) )
)
haus08.fin (
dachblec ( s(3) )
glas ( s(3) )
)
haus09.fin (
dachkies ( s(15) )
dachkikl ( s(15) )
bumpkies ( s(15) )
)
drumrum.fin (
)
Non è facile da leggere, perchè contiene gli stessi
comandi ripetuti più volte. Perchè non accorciarlo un po'? Lo si può fare con la
Parola Chiave "Global":
create nhood1
global (
dachkies ( s(15) )
dachkikl ( s(15) )
wassramp ( s(21) )
boxkdach ( s(3) )
dachbeto ( s(3) )
luftscha ( s(21) )
teppichg ( s(6) )
teppichk ( s(6) )
bumpkies ( s(15) )
dachblec ( s(3) )
glas ( s(3) )
)
haus01.fin
haus02.fin
haus03.fin
haus04.fin
haus05.fin
haus06.fin
haus07.fin
haus08.fin
haus09.fin
drumrum.fin
Per renderlo ancora più chiaro, potremmo utilizzare "define".
E' un po' più lungo di prima, ma è estremamente più ordinato e chiaro:
create nhood1
define (
bump ( surface bump )
slip ( surface slippery )
greytr ( surface 3 )
lighttr ( surface 6 )
)
global (
dachkies ( bump )
dachkikl ( bump )
bumpkies ( bump )
wassramp ( slip )
luftscha ( slip )
boxkdach ( greytr )
dachbeto ( greytr )
dachblec ( greytr )
glas ( greytr )
teppichg ( lighttr )
teppichk ( lighttr )
)
haus01.fin
haus02.fin
haus03.fin
haus04.fin
haus05.fin
haus06.fin
haus07.fin
haus08.fin
haus09.fin
drumrum.fin
12. Cos'è la cartella SRC? Mi serve?
Questa cartella contiene il codice sorgente dei programmi del
RVTMOD. Ti potrebbe essere utile per studiare come funziona il programma, come
esegue alcuni calcoli, oppure se vuoi modificarlo o aggiungere delle funzioni.
Se però non sei in grado di programmare in C++, o non ti interessa, o non sai
leggere quei file, puoi tranquillamente cancellare la cartella, perchè per te è
totalmente inutile.
13. Come si fa a creare un Corpo della pista vuoto?
Il modo corretto e più veloce per creare un file vuoto è
questo:
Ma c'è un problema: con un corpo della pista vuoto non
ci puoi fare assolutamente nulla! Un file.w vuoto può essere utile, ma un
file.ncp vuoto farà sì che (a causa dei limiti di Re-Volt) tutto quello che
metterai nella pista non sarà solido. E non saranno solide neanche le Instances
che inserirai anche se avranno il loro relativo file.ncp.
Inoltre il file.ncp vuto che crea Rvglue è corrotto. In ogni caso è inutile,
quindi questo bug di Rvglue non verrà mai corretto.
14. Cosa significano tutti questi termini (mesh,
poligoni, vertici e bordi)?
Facciamo un esempio pratico, un modello di casa semplificato:
Questa casa è fatta di triangoli e rettangoli piatti (figure
in 2d con 3 o 4 bordi). Per visualizzarli correttamente li stacchiamo un po' gli
uni dagli altri:
Ora possiamo vedere chiaramente di cosa è fatta questa
casa:
- Le varie forme piatte (triangoli e quadrati) sono chiamati poligoni. I
modellatori 3d li chiamano anche "facce"
- I poligoni vengono definiti da 3 o 4 punti (le palline bianche) che vengono
chiamati vertici.
- Per una facilità di utilizzo, alcuni poligoni vengono raggruppati in Meshes
(ad esempio questa casa)
- Un'Instance di Re-Volt consiste esattamente in una Mesh, mentre il corpo della
pista (il file.w) contiene più Meshes (anche diverse migliaia)
- In Re-Volt non ci possono essere poligoni che non appartengano ad una Mesh. Ma
spesso ci sono Meshes che consistono di 1 (o anche 0) poligoni.
Se vuoi vedere i poligoni che creano un'Instance, puoi usare
il programma Rvmark presente nella raccolta Rvminis.
Questo discorso può essere difficile, anche perchè i termini in italiano per
tutte queste cose non sempre corrispondono perfettamente al significato inglese.
15. Rvglue ignora le opzioni di un'Instance.
Controlla se hai scritto il suffisso .prm nel tuo File di
Comando. La lista delle opzioni di un'Instance comincia con il nome dell'Instance
senza il suffisso .prm.
16. Rvglue non funziona e dice che sto cercando di
scrivere e leggere lo stesso file.
L'errore più comune che viene commesso è quello di utilizzare
lo stesso file sia per la lettura che per la scrittura, come in questo esempio:
create track
track.w ( something )
Il fatto è che tutte le volte che si esegue un file di
comando, tutte le operazioni vengono applicate sullo stesso file (quindi ad
esempio se diciamo di aggiungere un'instance ad un file, ed eseguiamo 10 volte
Rvglue, troveremo 10 volte questa Instance legata in quel file, con notevoli
problemi di rallentamenti e altri errori quali opzioni che non funzionano o che
non eseguono le modifiche richieste. Usa sempre files diversi per l'input e per
l'output!
17. Rvglue mi avvisa che il mio file.fin potrebbe
causare risultati inaspettati.
Se vuoi creare una pista basata sulle Instances, o vuoi unire
delle Instances al corpo di una pista, non usare questa sintassi:
create track
track.fin ( something )
Sembrerebbe funzionare, ma se fai partire Re-Volt, l'Instance
comparirà 2 volte, una volta caricata dal corpo della pista e un'altra volta dal
file.fin. Quando inserisci un'Instance nel corpo della pista, l'Instance non è
più necessaria. Rimuovi quindi il file.fin (o rinominalo). E cancella anche il
file.fi-, che è il backup del file.fin altrimenti Re-Volt lo ripristinerà.
18. Rvglue crea ostacoli invisibili.
Qualche volta (molto spesso in verità, quando lavori con le
piste esportate dal Track Editor) Rvglue qualcosa di invisibile contro cui le
auto vanno a sbattere. Nel 99% dei casi si tratta dei muri di sostegno che sono
nascosti sotto la superficie della pista:
Per risolvere il problema, segui uno di questi metodi:
- Cancella tutti i muri (con le opzioni legosplit e off)
- Cancella solo i muri che danno problemi (con le opzioni tazsplit e off). Crea
una zona speciale e per ogni muro che devi eliminare inserisci una piccola zona
che copra solo quel muro. La pagina principale di questo tutorial spiega come
fare.
- Abbassa i valori di collisione per i poligoni che creano questi problemi (con
l'opzione lower_coll) |