Home    Forum    Cerca    FAQ    Iscriviti    Login
Nascondi Menu Principale
  Community

TRACKMK



Trackmk è un programma che genera sezioni di tracciato personalizzate sotto forma di file.prm per Re-Volt.


Utilizzo

    trackmk [ [direction] bend] [twist] [-h height] [-c height] [-m map] [-p surfprop]  [-o outfile]
    direction
= -l|r
    bend = -9|U|S [size]
    twist = -b|t|d [angle]


Ci sono due modi per creare nuove piste per Re-Volt: utilizzando il Track Editor interno al gioco, oppure sfruttando un programma di modellismo 3d come 3DStudio Max o Zmodeler, per creare sezioni di una pista ex novo.


Sfortunatamente, il Track Editor ha diverse limitazioni in struttura, posizionamento e curvatura dei pezzi che permette di usare. Soprattutto quando si tenta di usare le curve paraboliche, il risultato non è sempre accettabile (Immagine 1).


In ogni caso, l'uso dei programmi 3d è la soluzione migliore per creare piste per Re-Volt. Con un po' di abilità si possono creare tracciati molto simili e sofisticati (se non di più) a quelli presenti nel gioco originale. Certo, le piste create con il Track Editor sono semplici e immediate, ma non così belle (Immagine 2).


E' possibile però sfruttare il Track Editor solo come primo passaggio per la crezione di una pista. Successivamente con il Mig e con Rvglue, si possono "tagliare" sezioni di quella pista ed utilizzarli per crearne altre. Combinando tutte queste modalità si arriva ad un livello intermedio tra la creazione di piste Lego (fatte con il Track Editor) e piste completamente modellate in 3d.


Le limitazioni del Track Editor comunque sono sempre presenti: alcune possono essere aggirate, ma altre sono leggi che non si possono ignorare. Ad esempio è necessario che la pista formi un circuito chiuso, per essere esportata (questo può limitare di molto l'inventiva del creatore. Inoltre la pista è limitata in grandezza (sia inteso come circuito completo, sia come carreggiata della strada).


Un'altra limitazione principali del Track Editor di Re-Volt è che i pezzi devono sempre necessariamente essere appoggiati al "pavimento". Se ad esempio usi una sezione della pista ad un'elevazione di, per esempio, 8 unità, lo spazio sotto questa sezione viene riempito da un parallelepipedo. Ad eccezione del Ponte, non c'è nessun modo per permettere ad una parte di tracciato di sovrapporsi ad un'altra (e in ogni caso il ponte permette solo intersezioni a + del tracciato, e niente più).


In un certo modo questo problema si può risolvere con un uso attento delle Instances. Ad esempio, nella pista "Overpass" (Immagine 3), ho legato insieme diversi Ponti, poi ho usato Rvglue per tagliare solo la parte alta della sezione e ho incollato questi files.prm in altre parti della pista dove per il track editor sarebbe impossibile posizionarli (ad esempio sulle curve). A parole suona un po' confusionario, ma la foto è abbastanza chiara.


Comunque anche questa soluzione ha dei limiti. In particolare legati all'uso dei files.prm che possono essere assemblati in sezioni sovrapposte. Anche se dà molta libertà nella creazione di una pista, non è sinceramente molto flessibile.


Nel tentativo di risolvere il problema, ho scritto un programma che dovrebbe aprire un file.prm che ho creato con un ponte lungo 4 unità e crearne uno con le coordinate per i vertici dei poligoni alterati in maniera che risulti una curva di 90° con lo stesso raggio di una curva del track editor originale (dimensione 3x3). Ciò che ne è uscito fuori è stato molto più di quanto mi aspettassi. Il file.prm ottenuto era una curva perfetta che combaciava precisamente nella posizione dove volevo metterla. Testata con diverse auto, la pista era scorrevole e veloce da guidare. Come si può vedere dall'immagine 1, la curva sopra-elevata si integra perfettamente nella pista, andando oltretutto a sovrapporsi sia ad un pezzo rettilineo, sia ad una curva normale. Sfruttando poi il fatto che l'instance di partenza proveniva da un rettilineo, anche la texture è rimasta "piegata" come l'instance, ottenendo un risultato sinceramente migliore rispetto alle curve standard del Track Editor.


Visto che l'alterazione del file.prm aveva funzionato così bene, ho provato a vedere cosa succedeva inserendo una elevazione, e ho modificato il programma per aggiungere 4 unità di innalzamento da un lato della curva all'altro. Per evitare "scalini" ho applicato questa modifica utilizzando una funzione "seno", in maniera maniera da evitare discontinuità tra le varie parti (Immagine 4).


Una volta appurato il funzionamento della piega dei files.prm, il passo successivo è creare uno strumento generale che sia in grado di creare una varietà di files.prm piegati a scelta.


Prmbend, comunque, mostrò subito i suoi limiti. Per funzionare, ad esempio, ha bisogno di un'instance di partenza, creata o estratta da una pista esistente. E ritagliare sezioni di pista che non siano semplici come un rettilineo o una serie di ponti può essere problematico.


Ogni sezione di rettilineo (o di tubo) del Track Editor è fatta di 4 file di poligoni. Quando 4 pezzi di ponte vengono piegati in una curva di raggio 3, le 16 file costituiscono una curva lineare. Ma se cambia anche l'altezza della sezione del tracciato, compaiono diversi buchi visuali nella texture (Immagine 5).


Inoltre, tutti i poligoni che compongono la sezione del ponte sono quadrilateri (poligoni con 4 facce). Quando Prmbend viene usato per creare curve paraboliche (banked) da un'instance formata di sezioni di ponte, i vertici che definiscono i poligoni che creano la superficie della pista possono essere spostati in posizioni che non risultino complanari dopo la piega (il poligono non è più "piatto"). Questo causa dei seri problemi con le instaces risultanti: visivamente il tracciato viene visualizzato con una superficie regolare e senza sconnessioni, mentre la superficie di collisione, che è quella sulla quale le auto corrono, viene spaccata in 2 triangoli, che si trovano sotto la superficie della visuale. Così sembra che le auto corrano "affogate" nella pista, e quando arrivano a contatto con i punti di giunzione tra i due poligoni triangolari, subiscono degli urti notevoli.
Questa non era una soluzione accettabile.


Per rendere la superficie del tracciato regolare e guidabile era necessario spezzare i poligoni in triangoli prima che l'instance venisse deformata. Dopo vari tentativi ho deciso che era più semplice istruire il programma affinchè creasse automaticamente l'intera sezione. In questo modo il programma non era più dipendente dalla qualità dell'instance che gli veniva assegnata da modificare. Ad esempio, se utilizzi un'instance lunga 4 unità per creare una curva di raggio 3, ottieni una curva molto più lineare che non usando un'instance di 2 unità di lunghezza. In particolare sulle curve paraboliche poi, la lunghezza iniziale dell'instance si ripercuote sulla scorrevolezza del tracciato finale.
Le parti inferiori dei ponti inoltre sono piene di poligoni, per così dire, inutili; tramite il programma questi non vengono utilizzati, risparmiando quindi operazioni sui vertici che, essendo creati direttamente e non modificati da un'instance preparata, possono essere controllati e manipolati più accuratamente.


Visto che questa nuova versione crea da zero un'instance, invece di piegarne una già esistente, ho deciso di dargli un nuovo nome: Trackmk.
Un problema che è venuto subito alla luce riguarda le confusioni che fa il gioco quando un'auto salta fuori dal tracciato e deve essere ricreata in pista. Spesso capita che il gioco reimposti la telecamera che deve seguire l'auto sotto la pavimentazione del tracciato. Il problema è stato risolto inserendo la creazione del file di collisione (.ncp) direttamente all'interno del Trackmk, e non utilizzando il programma prm2ncp.

Immagine 1

Immagine 2

Immagine 3

Immagine 4

Immagine 5


Descrizione

Trackmk è un programma che crea griglie delle instance di Re-Volt, applicandovi distorsioni e creando il file.prm finale. Può creare una varietà di nuovi pezzi che possono essere inseriti nelle piste. Nelle varianti disponibili ci sono rettilinei, archi di curve o chicane, ed è possibile cambiare pendenza all'instance. Per questo motivo ci sono diversi gruppi di operazioni


OPERAZIONI
Gruppo Funzione Linea di comando Descrizione Valore default
Operazioni di Piega (Bending) Curva 90° -9 [diameter] Piega l'instance in una curva a 90° con un raggio di diameter unità 4 unità
Curva U -U [diameter] Piega l'instance in una curva a 180° con un raggio di diamter unità 4 unità
Chicane -S [shiftwidth] Piega l'instance lateralmente, in modo che il bordo finale sia spostato di shiftwidth unità rispetto al bordo iniziale 1 unità
Operazioni di Pendenza (Twisting) Banked -b [angle] Inclina la sezione sul lato interno della curva di 5° x angle 15°
Tilted -t [angle] Inclina la sezione sul centro della curva di 5° x angle 15°
Dipped -d [angle] Inclina la sezione sul lato esterno della curva di 5° x angle 15°
Operazioni di Elevazione Alza alla fine -h [height] Alza il bordo finale dell'instance di height unità 0 unità
Alza in centro -c [height] Alza il centro dell'instance di height unità 0 unità
Direzione della piega (Bend Direction) Curva o spostamento SX -l Imposta la direzione sinistra per tutte le operazioni di piega
Curva o spostamento DX -r Imposta la direzione destra per tutte le operazioni di piega
Lunghezza della sezione Specifica lunghezza -x [length] Imposta la lunghezza della sezione in length unità
Larghezza della sezione Doppia -2 Raddoppia la larghezza della superficie della sezione
Allarga -s Allarga il bordo finale della sezione in modo che sia il doppio di quello iniziale (diventa un adattatore per passare da piste normali a piste "double")
Restringe -n Crea un collo di bottiglia restringendo il centro della sezione a metà della sua larghezza normale
Spessore della sezione Piatta -f Rende piatta la sezione, dimezzando l'altezza. (come il programma wscale)
Altre Mappatura -m [map] Usa la striscia della texture D per la superficie della sezione. Valore compreso tra 0 e 3 0
Superficie -p [surfprop] Imposta le proprietà della superficie della sezione. Valore compreso tra 0 e 25 0
Output file -o [outfile] Scrive l'instance modificata nel file chiamato outfile. new_prm.prm

Unità

Una singola sezione di Re-volt è di 1000 unità su un lato, e i muri sono di 125 unità di altezza. Il cambio di elevazione minimo è di 125 unità. Questa scala di valori basata sulle 1000 unità è utilizzata all'interno di Re-Volt, e per comodità mi riferirò a questa come Unità di Re-Volt (RVU). Ad esempio una curva di diametro 6 significa che, misurata agli estremi della curva di 180°, la distanza sarà di 6 RVU. La curva più larga che si può utilizzare nel Track Editor è una curva di diametro 6, perchè ogni curva occupa un'area di 3x3 RVU. I valori di incremento dell'altezza sono espressi invece in Unità di Altezza (HU). Vige quindi questa semplice equivalenza:
1 RVU = 8 HU
Utilizzando queste unità di misura, Trackmk è in grado di creare pezzi perfettamente intercambiabili con altri presi dal Track Editor.


Texturing

Trackmk crea sezioni di tracciato utilizzando come texture parti dei fogli B e D delle texture originali di Re-Volt. Per i muri esterni e il basamento della sezione utilizza il quadrato di 64x64 pixel che si trova in alto a sinistra, nel foglio B (il rettangolo contornato di verde, nell'immagine Texture B). Per i muri interni e la parte alta degli stessi viene invece utilizzato il rettangolo di 64x32 pixel (rettangolo azzurro), esattamente sotto il quadrato utilizzato prima.


Come default per quanto riguarda la texture della superficie della pista viene presa, invece, la sezione di 192x64 pixel dal foglio D (rettangolo rosso - 0 dell'immagine Texture D). Trackmk può produrre sezioni di pista alternando strisce di texture. Utilizzando il comando -m si può impostare l'uso di una diversa striscia per la superficie. Il parametro -m può avere come valori 0, 1, 2 o 3, definendo quale rettangolo di 64 pixel di altezza scegliere.

Pendenza (Twisting)

Sulle strade reali e sulle piste, la superficie di guida è inclinata ("parabolizzata"), alzando il lato esterno della curva rispetto a quello interno, in maniera da creare una forza che agisca sull'auto, spingendola verso l'interno della curva. Questo serve ad evitare che l'auto perda il grip durante la percorrenza della curva, finendo così fuori strada. Più la curva è parabolica, e più l'auto potrà percorrerla velocemente senza perdere aderenza. D'altro canto, se un'auto troppo lenta percorre una curva con molta pendenza, è probabile che finisca per scivolare verso l'interno della stessa. Trackmk è in grado di definire questa pendenza, utilizzando 3 metodi simili ma con risultati diversi.


PENDENZE
Immagine Tipo Descrizione
Banked E' una curva che è stata inclinata in maniera che il bordo interno si trovi sempre allo stesso livello su tutta la curva (l'esterno viene alzato). L'immagine a sinistra mostra una curva a sinistra. La linea rossa rappresenta la pavimentazione della pista completa
Tilted E' una curva che è stata inclinata in maniera che il centro della curva si trovi sempre allo stesso livello durante tutta la sezione (l'interno della curva viene abbassato, l'esterno viene alzato)
Dipped E' una curva che è stata inclinata in maniera che il bordo esterno si trovi sempre allo stesso livello su tutta la curva (l'interno viene abbassato). Le curve "Tilted" e "Dipped" non dovrebbero essere utilizzate direttamente sulla pavimentazione, perchè a seconda dell'inclinazione, il tracciato potrebbe intersecarsi con la pavimentazione stessa

Texture B

Texture D

Note

Le operazioni di Piega sono esclusive, nel senso che puoi piegare un Prm in una curva a 90°, in una curva a U o a S, ma non puoi fare combinazioni tra queste. Puoi però eseguire combinazioni con le operazioni di Elevazione, o puoi effetuare solo delle semplici elevazioni. Un'operazione di piega comunque deve sempre avere una direzione, destra o sinistra.

Le operazioni di Elevazione (non center) alzano (o abbassano) il bordo "lontano" dell'instance relativo all'inizio della stessa. Una curva a sinistra con un cambiamento d'altezza di 4 genererà una curva in salita verso sinistra. Le Elevazioni in centro invece alzano (o abbassano) la parte centrale dell'instance.

Le operazioni di Pendenza creano tracciati inclinati dalle curve. Solo le curve a 90° e 180° possono essere modificate in pendenza. I tracciati modificati nelle pendenze non dovrebbero essere usati a contatto con il terreno, perchè le parti che vengono abbassate potrebbero finire sotto il livello del pavimento. Se si sceglie di modificare la pendenza di una sezione di più di 45°, è possibile che quel pezzo non sia più guidabile con le auto più lente. L'immagine a destra mostra una curva a U inclinata di 135°. Ovviamente se l'auto è sufficientemente veloce, la forza centrifuga la manterrà attaccata al tracciato.

I valori diameter e shiftwitdh sono intesi in unità come le utilizza Re-Volt.

Il valore height è dato in unità di Elevazione come le utilizza Re-Volt (sono i vari "livelli" di elevazione nel Track Editor). Questo valore può essere positivo o negativo. L'uso di valori molto alti su pezzi di tracciato molto corti potrebbero rendere il tracciato stesso inutilizzabile.

Il valore angle è dato in unità che rappresentano 5 gradi di angolo (Impostando il valore 9, si ottiene una curva parabolica di 45°). Con valori negativi, invece di creare una curva parabolica concava, se ne ottiene una convessa, causando quindi una notevole perdita di aderenza delle auto. Tecnicamente comunque non ci sono limiti sui valori che si possono utilizzare.

Quando si crea un pezzo rettilineo o una chicane, è necessario impostare il valore length della sezione. Se invece è necessario creare una curva a 90° o a 180°, Trackmk calcola automaticamente quanto dev'essere lungo il pezzo per rispettare i valori del diametro, dell'elevazione e della pendenza.


Note varie

Questo programma crea nuovi modelli di instance in formato.prm e .ncp. Non è quindi più necessario usare altri programmi per ottenere sezioni "solide" di tracciato.
All'interno della documentazione originale del Trackmk (disponibile all'interno del file.zip da scaricare) sono presenti numerosi esempi ed immagini dei pezzi che si possono ottenere. Questi esempi non sono stati tradotti in questo tutorial perchè la traduzione in italiano di parole come "Banked", "Shift" o "Elevation" perdono un po' di significato. Gli esempi sono estremamente chiari, quindi siete invitati a consultare la documentazione ufficiale per avere ulteriori suggerimenti su come creare i vostri pezzi di tracciato.


Contenuto del file.zip

Insieme al file eseguibile Trackmk e alla sua documentazione originale, il file che hai scaricato contiene un programma che si chiama Maketrk.bat. Se lo esegui, questo programma genera una libreria di oltre 400 esempi di files.prm che possono essere utilizzati per creare piste su Re-Volt. Questi files sono suddivisi in 6 cartelle:
- TURNS : Questa cartella contiene curve senza pendenza (verso sinistra, destra e a U), in piano o con diverse elevazioni
- BANKS : Questa cartella contiene curve "banked" (verso sinistra, destra e a U), in piano o con diverse elevazioni
- DIPS : Questa cartella contiene curve "dipped" (verso sinistra, destra e a U), in piano o con diverse elevazioni
- TWISTS : Questa cartella contiene curve "tilted" (verso sinistra, destra e a U), in piano o con diverse elevazioni
- SHIFTS : Questa cartella contiene chicanes senza pendenza (verso sinistra o destra), in piano o con diverse elevazioni
- STRAIGHT : Questa cartella contiene rettilinei, in piano o con diverse elevazioni


Definizione delle proprietà delle superfici

La tabella che segue è tratta dalla documentazione del programma ASE2RV (© 2001 by Alexander Kröller e Steven Ellis, © 2001 by Gábor Varga) ed è riportata qui solo come riferimento. Alcune nomenclature sono state lasciate in lingua inglese perchè di significato sconosciuto oppure più esaustivo di una eventuale traduzione.


PROPRIETA' SUPERFICI
Valore Descrizione Bumpy (U.R.*) Grip (U.R.*) Colore Particelle Colore Segni Gomme
0 Default 0 1 Grigio
1 Default2 0 1 Grigio
2 Grim Sunday 0 1 Grigio Scuro
3 Trick 0 -1 Grigio Chiaro
4 Flower Field 0 -3 Crema Verde Chiaro
5 Evil Conspiracy 0 -2 Grigio
6 Grippy 0 2 Grigio Chiaro
7 Jaws 0 3 Grigio Chiaro
8 Shiny 0 1
9 Conspiracy 0 -2 Grigio Chiaro
10 Megaslide 0 -5 Grigio Chiaro
11 Evil Trick 0 -1 Grigio
12 Grass 0 -3 Verde Verde
13 Bone Shaker 1 1 Grigio
14 Pebbles 2 1 Nero Grigio Chiaro
15 Gravel 1 1 Nero Grigio Chiaro
16 Intensely Weird Magnet 1 Strano
17 Mildly Weird Magnet 1 Strano
18 Manor Born 1 1 Marrone Marrone
19 Lord Muck 1 2 Marrone Marrone
20 Lady Muck 1 -1 Marrone Marrone
21 Super Slippy 0 -4 Grigio Chiaro
22 Super Slippy2 0 -4 Grigio Chiaro
23 Conspiracy2 0 -2 Grigio Chiaro
24 Head Wind 1 Strano
25 Side Wind 1 Strano

* U.R. = Unità Relative di Re-Volt


Trackmk Gui

Il programma Trackmkgui è stato creato per poter utilizzare più facilmente il Trackmk tramite un'interfaccia. Tutte le opzioni disponibili sul Trackmk sono riportate nel Trackmkgui (quindi tutto quello che potete fare con il Trackmk lo potete fare anche con Trackmkgui).



Questa è la schermata principale del programma, che replica tutte le varie opzioni disponibili con il Trackmk, organizzate in una forma più semplice e intuitiva. Certe opzioni si disabilitano o abilitano modificandone altre, rispettando così le regole di base del Trackmk.


Immagine 1. Loader
E' necessario indicare al programma dell'interfaccia dove si trova il Trackmk.


Immagine 2. Turn Options
L'impostazione di Default è Straight (rettilineo). Selezionando opzioni differenti si abilitano le modifiche alla casella del Diameter/Slide (è sufficiente inserire un valore di lunghezza nella sezione Misc).


Immagine 3. Twist Options
Queste impostazioni sono disabilitate per default. Sono applicabili solo alle curve di 90° e 180° e vengono abilitate se viene selezionato uno di questi due tipi di curva. Il valore Height viene definito moltiplicando il valore inserito x 5. Un valore impostato a 3 creerà ad esempio 15° di pendenza.


Immagine 4. Elevation Options
Seleziona quale operazione vuoi eseguire e inserisci il valore desiderato.


Immagine 5. Misc Options
Track length: inserisci un valore per creare una sezione di pista da modificare poi con le opzioni "straight" o "slide".
Make flat: esegue il parametro -f di Trackmk
Alt Texture Space: applica alla sezione uno degli spazi texture selezionati (da 0 a 3)
Alt Surface Type: applica alla sezione una proprietà della superficie diversa (da 0 a 25)


Immagine 6. Output
In quest'area del programma puoi stabilire dove vuoi che venga salvata la nuova sezione che stai creando, e che nome dare al file. Nota bene che NON E' NECESSARIO aggiungere l'estensione ".prm" al nome che inserisci nella casella di testo (se lo fai avrai come risultato i file NOME.prm.prm e NOME.prm.ncp)


Immagine 7. Debugger
In quest'area compaiono i pulsanti "Make It", che crea i files della sezione che vuoi creare rispettando le impostazioni da te definite, e ripristina successivamente tutte le impostazioni come da default; il pulsante "Reset" riprista le opzioni di default senza creare i files della sezione; il pulsante "Exit" ovviamente serve per uscire dal programma.
La linea Debugger invece mostra le stringhe utilizzate per creare la sezione.


Sul readme originale del TrackmkGui c'è scritto che il logo del programma è stato messo per bellezza, per riempire quella zona vuota della finestra, e che non nasconde nulla. In realtà sotto questo logo ci sono due impostazioni nascoste di cui non capiamo il funzionamento. Il programma in ogni caso funziona perfettamente permettendo di utilizzare TUTTE le opportunità del Trackmk. Il file.zip contenente questo programma contiene anche il readme originale inglese completo di tutte le immagini.

Immagine 1

Immagine 2

Immagine 3

Immagine 4

Immagine 5

Immagine 6

Immagine 7

Nascondi Srmalloy's Tools
  Tools

 



Copyright (C) 2000 - 2014 AliasReVoltMaster.com
Tutti i diritti riservati

Per qualsiasi problema, domanda, idea o suggerimento, potete scrivere ad arm@aliasrevoltmaster.com