You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
349 lines
16 KiB
349 lines
16 KiB
2 years ago
|
<!DOCTYPE html>
|
||
|
<html lang="it">
|
||
|
<head>
|
||
|
<meta charset="utf-8" />
|
||
|
<base href="../../../" />
|
||
|
<script src="page.js"></script>
|
||
|
<link type="text/css" rel="stylesheet" href="page.css" />
|
||
|
</head>
|
||
|
<body>
|
||
|
<h1>[name]</h1>
|
||
|
|
||
|
<p class="desc">
|
||
|
AnimationAction pianifica l'esecuzione delle animazioni archiviate in
|
||
|
[page:AnimationClip AnimationClips].<br /><br />
|
||
|
|
||
|
Nota: La maggior parte dei metodi di AnimationAction può essere concatenata.
|
||
|
|
||
|
Per una paronamica dei diversi elementi del sistema di animazione di three.js consultare
|
||
|
l'articolo "Sistema di animazione" nella sezione "Prossimi Passi" del manuale.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
<h2>Costruttore</h2>
|
||
|
|
||
|
|
||
|
<h3>[name]( [param:AnimationMixer mixer], [param:AnimationClip clip], [param:Object3D localRoot] )</h3>
|
||
|
<p>
|
||
|
[page:AnimationMixer mixer] - l'`AnimationMixer` controllato da questa azione.<br />
|
||
|
[page:AnimationClip clip] - l'`AnimationClip` che contiene i dati di animazione per questa azione.<br />
|
||
|
[page:Object3D localRoot] - l'oggetto root su cui viene eseguita questa azione.<br /><br />
|
||
|
|
||
|
Nota: Invece di chiamare questo costruttore direttamente, dovresti creare un'istanza AnimationAction con
|
||
|
[page:AnimationMixer.clipAction] poiché questo metodo fornisce la memorizzazione nella cache per migliorare
|
||
|
le prestazioni.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
<h2>Proprietà</h2>
|
||
|
|
||
|
|
||
|
<h3>[property:Boolean clampWhenFinished]</h3>
|
||
|
<p>
|
||
|
Se `clampWhenFinished` è impostato a true l'animazione verrà automaticamente messa in [page:.paused pausa]
|
||
|
sull'ultimo frame.<br /><br />
|
||
|
|
||
|
Se `clampWhenFinished` è impostato a false, [page:.enabled enabled] verrà automaticamente impostato a false
|
||
|
al termine dell'ultimo ciclo di animazione, in modo che questa azione non abbia più alcun impatto.<br /><br />
|
||
|
|
||
|
Il valore di default è false.<br /><br />
|
||
|
|
||
|
Nota: `clampWhenFinished` non ha impatto se l'azione viene interrotta (ha effetto solo se il suo ultimo ciclo
|
||
|
è effettivamente terminato).
|
||
|
</p>
|
||
|
|
||
|
<h3>[property:Boolean enabled]</h3>
|
||
|
<p>
|
||
|
Impostare `enabled` a `false` disabilita questa azione, in modo che non abbia più alcun impatto. Il valore di default è `true`. <br /><br />
|
||
|
|
||
|
Quando l'azione viene riattivata (re-enabled), l'animazione continua dal [page:.time tempo] corrente
|
||
|
(impostare `enabled` a `false` non resetta l'azione). <br /><br />
|
||
|
|
||
|
Nota: Impostare `enabled` a `true` non riavvia automaticamente l'azione. Impostare `enabled` a `true`
|
||
|
farà riavviare l'animazione immediatamente solo se è soddisfatta la seguente condizione:
|
||
|
[page:.paused paused] è `false`, l'azione non è stata disattivata nel frattempo
|
||
|
(eseguendo un comando di [page:.stop stop] o [page:.reset reset]) e né [page:.weight weight] né
|
||
|
[page:.timeScale timeScale] sono pari a `0`.
|
||
|
</p>
|
||
|
|
||
|
<h3>[property:Number loop]</h3>
|
||
|
<p>
|
||
|
La modalità di looping può essere modificata con [page:.setLoop setLoop]. L'impostazione predefinita è
|
||
|
[page:Animation THREE.LoopRepeat] (con un numero infinito di [page:.repetitions ripetizioni])<br /><br />
|
||
|
|
||
|
Il valore deve essere una di queste costanti:<br /><br />
|
||
|
[page:Animation THREE.LoopOnce] - riproduce il clip una volta,<br />
|
||
|
[page:Animation THREE.LoopRepeat] - riproduce il clip con il numero di `ripetizioni` prescelto,
|
||
|
ogni volta saltando dalla fine della clip direttamente al suo inizio,<br />
|
||
|
[page:Animation THREE.LoopPingPong] - riproduce il clip con il numero di `ripetizioni` prescelto,
|
||
|
alternativamente in avanti e in indietro.
|
||
|
</p>
|
||
|
|
||
|
<h3>[property:Boolean paused]</h3>
|
||
|
<p>
|
||
|
Impostando `paused` a `true` l'azione verrà sospesa impostando il time scale effettivo a `0`. Il valore di default è `false`.
|
||
|
</p>
|
||
|
|
||
|
<h3>[property:Number repetitions]</h3>
|
||
|
<p>
|
||
|
Il numero di ripetizioni dell'[page:AnimationClip] eseguite nel corso di questa azione.
|
||
|
Può essere settato tramite [page:.setLoop setLoop]. Il valore di default è `Infinity`.<br /><br />
|
||
|
Se la modalità di [page:loop looping] è impostata a [page:Animation THREE.LoopOnce], impostare questo valore non ha effetti.
|
||
|
</p>
|
||
|
|
||
|
<h3>[property:Number time]</h3>
|
||
|
<p>
|
||
|
L'ora locale di questa azione (in secondi, partendo da `0`).<br /><br />
|
||
|
|
||
|
Il valore viene bloccato a `0...clip.duration` (in base allo stato del ciclo). Può essere scalato
|
||
|
rispetto al tempo globale del mixer modificando [page:.timeScale timeScale] (utilizzando
|
||
|
[page:.setEffectiveTimeScale setEffectiveTimeScale] o [page:.setDuration setDuration]). <br />
|
||
|
</p>
|
||
|
|
||
|
<h3>[property:Number timeScale]</h3>
|
||
|
<p>
|
||
|
Fattore di scala per il [page:.time tempo]. Un valore uguale a `0` mette in pausa l'azione. Valori
|
||
|
negativi fanno sì che l'animazione venga riprodotta all'indietro. Il valore di default è `1`. <br /><br />
|
||
|
Le proprietà/metodi relativi a `timeScale` (rispettivamente `time`) sono:
|
||
|
[page:.getEffectiveTimeScale getEffectiveTimeScale],
|
||
|
[page:.halt halt],
|
||
|
[page:.paused paused],
|
||
|
[page:.setDuration setDuration],
|
||
|
[page:.setEffectiveTimeScale setEffectiveTimeScale],
|
||
|
[page:.stopWarping stopWarping],
|
||
|
[page:.syncWith syncWith],
|
||
|
[page:.warp warp].
|
||
|
</p>
|
||
|
|
||
|
<h3>[property:Number weight]</h3>
|
||
|
<p>
|
||
|
Il grado di influenza di questa azione (nell'intervallo `[0, 1]`). I valori tra `0` (nessun impatto)
|
||
|
e 1 (impatto totale) possono essere usati per combinare più azioni. Il valore di default è `1`. <br /><br />
|
||
|
Le proprietà/metodi relativi a `weight` sono:
|
||
|
[page:.crossFadeFrom crossFadeFrom],
|
||
|
[page:.crossFadeTo crossFadeTo],
|
||
|
[page:.enabled enabled],
|
||
|
[page:.fadeIn fadeIn],
|
||
|
[page:.fadeOut fadeOut],
|
||
|
[page:.getEffectiveWeight getEffectiveWeight],
|
||
|
[page:.setEffectiveWeight setEffectiveWeight],
|
||
|
[page:.stopFading stopFading].
|
||
|
</p>
|
||
|
|
||
|
<h3>[property:Boolean zeroSlopeAtEnd]</h3>
|
||
|
<p>
|
||
|
Abilita l'interpolazione uniforme senza clip separati per inizio, loop e fine. Il valore di default è `true`.
|
||
|
</p>
|
||
|
|
||
|
<h3>[property:Boolean zeroSlopeAtStart]</h3>
|
||
|
<p>
|
||
|
Abilita l'interpolazione uniforme senza clip separati per inizio, loop e fine. Il valore di default è `true`.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
<h2>Metodi</h2>
|
||
|
|
||
|
|
||
|
<h3>[method:this crossFadeFrom]( [param:AnimationAction fadeOutAction], [param:Number durationInSeconds], [param:Boolean warpBoolean] )</h3>
|
||
|
<p>
|
||
|
Provoca il [page:.fadeIn fade in] (la dissolvenza in entrata) di questa azione, e la dissolvenza in uscita di un'altra azione
|
||
|
simultaneamente, entro l'intervallo passato. Questo metodo può essere concatenato.<br /><br />
|
||
|
|
||
|
Se warpBoolean è true, verranno applicati ulteriori [page:.warp warping] (modifiche graduali delle scale temporali).<br /><br />
|
||
|
|
||
|
Nota: Come con `fadeIn`/`fadeOut`, la dissolvenza inizia/termina con un weight di 1.
|
||
|
</p>
|
||
|
|
||
|
<h3>[method:this crossFadeTo]( [param:AnimationAction fadeInAction], [param:Number durationInSeconds], [param:Boolean warpBoolean] )</h3>
|
||
|
<p>
|
||
|
Provoca il [page:.fadeOut fade out] (la dissolvenza in uscita) di questa azione, e la dissolvenza in entrata di un'altra azione
|
||
|
simultaneamente, entro l'intervallo passato. Questo metodo può essere concatenato.<br /><br />
|
||
|
|
||
|
Se warpBoolean è true, verranno applicati ulteriori [page:.warp warping] (modifiche graduali delle scale temporali).<br /><br />
|
||
|
|
||
|
Nota: Come con `fadeIn`/`fadeOut`, la dissolvenza inizia/termina con un weight di 1.
|
||
|
</p>
|
||
|
|
||
|
<h3>[method:this fadeIn]( [param:Number durationInSeconds] )</h3>
|
||
|
<p>
|
||
|
Aumenta il [page:.weight weight] di questa azione gradualmente da `0` a `1`, entro l'intervallo passato.
|
||
|
Questo metodo può essere concatenato.
|
||
|
</p>
|
||
|
|
||
|
<h3>[method:this fadeOut]( [param:Number durationInSeconds] )</h3>
|
||
|
<p>
|
||
|
Diminuisce il [page:.weight weight] di questa azione gradualmente da `1` a `0`, entro l'intervallo passato.
|
||
|
Questo metodo può essere concatenato.
|
||
|
</p>
|
||
|
|
||
|
<h3>[method:Number getEffectiveTimeScale]()</h3>
|
||
|
<p>
|
||
|
Restituisce l'effettivo time scale (considerando lo stato attuale di [page:.warp warping] e di [page:.paused paused]).
|
||
|
</p>
|
||
|
|
||
|
<h3>[method:Number getEffectiveWeight]()</h3>
|
||
|
<p>
|
||
|
Restituisce l'effettivo weight (considerando lo stato attuale di fading e di [page:.enabled enabled]).
|
||
|
</p>
|
||
|
|
||
|
<h3>[method:AnimationClip getClip]()</h3>
|
||
|
<p>
|
||
|
Restituisce la clip che contiene i dati di animazione di questa azione.
|
||
|
</p>
|
||
|
|
||
|
<h3>[method:AnimationMixer getMixer]()</h3>
|
||
|
<p>
|
||
|
Restituisce il mixer responsabile dell'esecuzione di questa azione.
|
||
|
</p>
|
||
|
|
||
|
<h3>[method:Object3D getRoot]()</h3>
|
||
|
<p>
|
||
|
Restituisce l'oggetto root sul quale questa animazione è eseguita.
|
||
|
</p>
|
||
|
|
||
|
<h3>[method:this halt]( [param:Number durationInSeconds] )</h3>
|
||
|
<p>
|
||
|
Decelera la velocità di questa animazione a `0` diminuendo gradualmente il [page:.timeScale timeScale]
|
||
|
(a partire dal valore corrente), entro l'intervallo passato. Questo metodo può essere concatenato.
|
||
|
</p>
|
||
|
|
||
|
<h3>[method:Boolean isRunning]()</h3>
|
||
|
<p>
|
||
|
Restituisce true se il [page:.time time] dell'azione è attualmente in esecuzione.<br /><br />
|
||
|
|
||
|
Oltre ad essere attivato nel mixer (vedi [page:.isScheduled isScheduled]) le seguenti condizioni devono essere soddisfatte:
|
||
|
[page:.paused paused] deve essere uguale a false, [page:.enabled enabled] deve essere uguale a true,
|
||
|
[page:.timeScale timeScale] deve essere diversa da `0`, e non deve essere prevista nessuna programmazione
|
||
|
per un avvio ritardato ([page:.startAt startAt]).<br /><br />
|
||
|
|
||
|
Nota: il fatto che `isRunning` sia true non significa necessariamente che l'animazione sia effettivamente visibile.
|
||
|
Ciò avviene solo se [page:.weight weight] è impostato su un valore diverso da zero.
|
||
|
</p>
|
||
|
|
||
|
<h3>[method:Boolean isScheduled]()</h3>
|
||
|
<p>
|
||
|
Restituisce true se questa azione è attivata nel mixer.<br /><br />
|
||
|
Nota: Questo non significa necessariamente che l'animazione sia effettivamente in esecuzione (confronta
|
||
|
le condizioni aggiuntive per [page:.isRunning isRunning]).
|
||
|
</p>
|
||
|
|
||
|
<h3>[method:this play]()</h3>
|
||
|
<p>
|
||
|
Dice al mixer di attivare l'azione. Questo metodo può essere concatenato.<br /><br />
|
||
|
|
||
|
Nota: Attivare questa azione non significa necessatiamente che l'animazione verrà avviata immediatamente:
|
||
|
Se l'azione era già terminata prima (raggiungendo la fine del suo ultimo loop), o se è stato impostato un tempo
|
||
|
per un inizio ritardato (tramite [page:.startAt startAt]), prima deve essere eseguito un [page:.reset reset].
|
||
|
Anche altre impostazioni, (come [page:.paused paused]=true, [page:.enabled enabled]=false,
|
||
|
[page:.weight weight]=0, [page:.timeScale timeScale]=0) possono impedire la riproduzione dell'animazione.
|
||
|
</p>
|
||
|
|
||
|
<h3>[method:this reset]()</h3>
|
||
|
<p>
|
||
|
Reimposta l'azione. Questo metodo può essere concatenato.<br /><br />
|
||
|
|
||
|
Questo metodo imposta [page:.paused paused] a false, [page:.enabled enabled] a true,
|
||
|
[page:.time time] a `0`, interrompe ogni fading e wraping programmati, e rimuove il conteggio del loop
|
||
|
interno per l'avvio ritardato.<br /><br />
|
||
|
|
||
|
Nota: .`reset` è sempre chiamato da [page:.stop stop], ma .`reset` non chiama .`stop`.
|
||
|
Questo significa che se vuoi chiamare entrambi i metodi, non chiamare .`reset`, chiama invece .`stop`.
|
||
|
</p>
|
||
|
|
||
|
<h3>[method:this setDuration]( [param:Number durationInSeconds] )</h3>
|
||
|
<p>
|
||
|
Imposta la durata per un singolo loop dell'azione (regolando il [page:.timeScale timeScale] e
|
||
|
interrompendo qualsiasi warping programmato). Questo metodo può essere concatenato.
|
||
|
</p>
|
||
|
|
||
|
<h3>[method:this setEffectiveTimeScale]( [param:Number timeScale] )</h3>
|
||
|
<p>
|
||
|
Imposta il [page:.timeScale timeScale] e interrompe qualsiasi warping programmato. Questo metodo può essere concatenato.<br /><br />
|
||
|
|
||
|
Se [page:.paused paused] è false, l'effettivo time scale (una proprietà interna) sarà impostato a questo valore,
|
||
|
altrimenti il time scale effettivo (che influenza direttamente l'animazione in questo momento) verrà impostato a `0`.<br /><br />
|
||
|
|
||
|
Nota: Se .`timeScale` è impostato `0` da questo metodo, .`paused` non verrà impostato automaticamente a `true`.
|
||
|
</p>
|
||
|
|
||
|
<h3>[method:this setEffectiveWeight]( [param:Number weight] )</h3>
|
||
|
<p>
|
||
|
Imposta il [page:.weight weight] e interrompe qualsiasi fading programmato. Questo metodo può essere concatenato.<br /><br />
|
||
|
|
||
|
Se [page:.enabled enabled] è true, l'effettivo weight (una proprietà interna) sarà impostato a questo valore,
|
||
|
altrimenti il weight effettivo (che influenza direttamente l'animazione in questo momento) verrà impostata a `0`.<br /><br />
|
||
|
|
||
|
Nota: Se .`weight` è impostato `0` da questo metodo, .`enabled` non passerà automaticamente a `false`.
|
||
|
</p>
|
||
|
|
||
|
<h3>[method:this setLoop]( [param:Number loopMode], [param:Number repetitions] )</h3>
|
||
|
<p>
|
||
|
Imposta la modalità di [page:.loop looping] e il numero di [page:.repetitions ripetizioni]. Questo metodo può essere concatenato.
|
||
|
</p>
|
||
|
|
||
|
<h3>[method:this startAt]( [param:Number startTimeInSeconds] )</h3>
|
||
|
<p>
|
||
|
Definisce il tempo per un avvio ritardato (solitamente passato come [page:AnimationMixer.time] +
|
||
|
deltaTimeInSeconds). Questo metodo può essere concatenato.<br /><br />
|
||
|
|
||
|
Nota: L'animazione inizierà solo all'ora indicata se .`startAt` è concatenato con
|
||
|
[page:.play play], o se l'azione è già stata attivata nel mixer (da una precedente chiamata di .`play`,
|
||
|
senza che nel frattempo sia stata fermata o resettata).
|
||
|
</p>
|
||
|
|
||
|
<h3>[method:this stop]()</h3>
|
||
|
<p>
|
||
|
Dice al mixer di disattivare questa azione. Questo metodo può essere concatenato.<br /><br />
|
||
|
|
||
|
L'azione verrà immediatamente interrotta e completamente [page:.reset resettata].<br /><br />
|
||
|
|
||
|
Nota: puoi interrompere tutte le azioni attive sullo stesso mixer in una volta sola tramite
|
||
|
[page:AnimationMixer.stopAllAction mixer.stopAllAction].
|
||
|
</p>
|
||
|
|
||
|
<h3>[method:this stopFading]()</h3>
|
||
|
<p>
|
||
|
Interrompe qualsiasi [page:.fadeIn fading] programmato applicato a questa azione. Questo metodo può essere concatenato.
|
||
|
</p>
|
||
|
|
||
|
<h3>[method:this stopWarping]()</h3>
|
||
|
<p>
|
||
|
Interrompe qualsiasi [page:.warp warping] programmato applicato a questa azione. Questo metodo può essere concatenato.
|
||
|
</p>
|
||
|
|
||
|
<h3>[method:this syncWith]( [param:AnimationAction otherAction] )</h3>
|
||
|
<p>
|
||
|
Sincronizza questa azione con l'altra azione passata. Questo metodo può essere concatenato.<br /><br />
|
||
|
|
||
|
La sincronizzazione viene fatta impostando i valori [page:.time time] e [page:.timeScale timeScale]
|
||
|
di questa azione ai corrispondenti valori dell'altra azione (interrompendo qualsiasi warping programmato).<br /><br />
|
||
|
|
||
|
Nota: Le modifiche future di `time` e `timeScale` dell'altra azione non verranno rilevate.
|
||
|
</p>
|
||
|
|
||
|
<h3>[method:this warp]( [param:Number startTimeScale], [param:Number endTimeScale], [param:Number durationInSeconds] )</h3>
|
||
|
<p>
|
||
|
Modifica la velocità di riproduzione, entro l'intervallo di tempo passato, modificando
|
||
|
gradualmente il [page:.timeScale timeScale] da `startTimeScale` a `endTimeScale`. Questo metodo può essere concatenato.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
<h2>Eventi</h2>
|
||
|
|
||
|
|
||
|
<p class="desc">
|
||
|
Ci sono due eventi che indicano quando un singolo ciclo dell'azione o l'intera azione è terminata. Si può rispondere ad essi con:
|
||
|
</p>
|
||
|
<code>
|
||
|
mixer.addEventListener( 'loop', function( e ) { …} ); // properties of e: type, action and loopDelta
|
||
|
mixer.addEventListener( 'finished', function( e ) { …} ); // properties of e: type, action and direction
|
||
|
</code>
|
||
|
|
||
|
<h2>Source</h2>
|
||
|
|
||
|
<p>
|
||
|
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
|
||
|
</p>
|
||
|
</body>
|
||
|
</html>
|