Comando: Rotate

Dal Wiki di Scuola3D

Modo d'uso

rotate [x] y [z] [sync OR nosync] [time=time] [loop OR noloop] [reset OR noreset] [wait=wait] [name=name]


Descrizione

Il comando rotate attiva una rotazione continua dell'oggetto intorno a uno o più dei suoi assi. La rotazione avviene attorno all'origine (punto zero) dell'oggetto. Quindi, applicando il comando rotate a un oggetto con il centro fuori dell'oggetto si avrà un movimento di rotazione complesso su più assi o di semplice movimento in circolo se su un solo asse intorno al suo centro.

L'unico argomento obbligatorio è y, che specifica la velocità di rotazione attorno all'asse y in RPM (rotazioni per minuto). Quando create un oggetto che ruota attorno a uno degli assi x o z, o anche attorno a più assi simultaneamente, è necessario specificare tutti e 3 gli assi. Il valore massimo di RPM per ognuno dei 3 assi è di 50,000.

L'opzione Sync e nosync indica se la rotazione è sincronizzata o meno con l'orologio dell'universo. La regolazione di base è sync. Utilizzando la syncronizzazione della rotazione all'orologio dell'universo si possono creare degli oggetti con movimenti di rotazione sincronizzati per tutti gli utenti. Questo è molto utile per oggetti che si muovono lentamente (per esempio le lancette di un orologio), e tenete presente che l'orologio dell'universo è identico per tutti gli utenti (al massimo qualche secondo di differenza). Per gli oggetti che ruotano velocemente il sync consente la costruzione di movimenti complessi che coinvolgono più oggetti con movimenti sincronizzati (per esempio un movimento di ingranaggi che si muovono in modo coordinato).

Notate che l'opzione "nosync" in genere è utile nei casi in cui la rotazione viene attivata con un l'azione activate posta su un oggetto. Questo perchè la rotazione non sincronizzata parte dal corrente orientamento verso nord dell'oggetto e dipende dal momento in cui l'oggetto viene visualizzato, mentre gli oggetti sincronizzati iniziano la rotazione da un angolo precalcolato sulla base del tempo dell'universo.

L'argomento opzionele time può essere specificato per controllare per quanto tempo l'oggetto ruota. Dopo che i time secondi sono passati, l'oggetto si ferma e stà nella posizione finale. Se è specificato un tempo l'opzione nosync è implicita. Se è definito il tempo di rotazione, la rotazione non può mai essere sincronizzata.

Per calcolare il tempo di rotazione, e quindi il desiderato angolo di rotazione (cosa che può generare confusione) basta fare riferimento a questa semplice formula:

 rpm = a / (6 x t) 

dove a è l'angolo desiderato, e t è il tempo di rotazione. Per esempio, per controllare una porta perchè ruoti di 90 gradi in 2 secondi dovrete dare all'asse y, un valore rpm (di rotazione) di 90 / (6 x 2) = 90 / 12 = 7.5 rpm.

L'argomento facoltativo loop ha effetto solo se è specificato un valore di time. Se loop è specificato, la rotazione si ripeterà ogni volta che si è completata. La regolazione di base è noloop.

L'argomento facoltativo reset ha effetto solo se è specificato un valore di time. Se reset è specificato, l'oggetto tornerà immediatamente nella posizione originale dopo aver trascorso il tempo specificato nella opzione wait. La regolazione di base è noreset.

L'argomento facoltativo wait ha effetto solo se è specificato un valore di time. Se è specificato l'oggeto si fermerà nella posizione che raggiunge alla fine della rotazione per il tempo specificato e alla fine di questo tornerà nella posizione originale. Se loop è specificato, il tempo di base è di 0 secondi (ossia nessuna pausa), altrimenti il tempo di pausa è infinito.

Come per molti altri comandi potete specificare facoltativamente il name di un'altro oggetto al quale applicare la rotazione.

Nota che il comando rotate è un comando speciale e potrebbe non essere disponibile per tutti gli utenti nel mondo.


Esempi:


create rotate 10

Questo crea un oggetto che ruota intorno al suo asse per 10 volte in un minuto.


create rotate 4 0 7

Questo crea un oggetto che ruota 4 volte per minuto intorno al suo asse x e 7 volte al minuto attorno al suo asse z.


activate rotate 0 name=sign

Questo crea un oggetto che ferma ogni rotazione quando viene cliccato, in tutti gli oggrtti vicini che hanno come nome "sign".


activate rotate 0 0 20 nosync

Questo crea un oggetto che ruota che inizia la rotazione intorno al suo asse z per 20 volte al minuto quando viene cliccato. Nota che siccome utilizza un comando activate la rotazione è visibile solo per l'utente che ha cliccato l'oggetto e non è sincronizzato. In questo caso l'opzione nosync è specificata.


Personal tools