Saldi di Halloween: −40% Pixor costa $19.99 $11.99 fino al 4 novembre, su itch.io →

Anticipazione e follow-through: dai peso a un salto

Una clip che in 3D sembra a posto spesso fluttua quando è alta pochi pixel: nessun accovacciamento prima dello stacco, un atterraggio senza peso. Il nodo Timing aggiunge ciò che aggiungerebbe un animatore a mano, in base a quanto veloce si muove ogni parte.

Anticipazione e follow-through: il salto di un cavaliere con un nodo Timing: lo sheet che questo progetto di esempio renderizza

Progetto di esempio

Anticipazione e follow-through: il salto di un cavaliere con un nodo Timing: il progetto .pixor e il suo modello della libreria (CC0). Lo sheet a sinistra è ciò che renderizza.

Un cavaliere in pixel art che salta, visto di lato, in modo rigido
Il salto della libreria così com’è
Lo stesso cavaliere che si accovaccia di più prima del salto e si schiaccia all’atterraggio
Attraverso un nodo Timing, intensità 1.5

Principiante · circa 5 minuti · o guardalo in 91 secondi

1. Una camera laterale

Apri un modello riggato: il tutorial usa il cavaliere della libreria CC0 gratuita. Nella fase Scena, fai clic sulla camera Sud nella Struttura e imposta la vista Gioco su Platform.

2. Una scala fissa

Imposta la Dimensione della camera su Pixel per metro e scrivi 34. Una camera adattata al modello lo riscala per contenere tutto ciò che fa l’azione, quindi un accovacciamento più profondo rimpicciolirebbe lo sprite; a scala fissa il cavaliere mantiene la sua dimensione e la tela si allarga intorno a lui.

3. Un salto della libreria

Nella fase Azione, scegli Aggiungi un’azione › Clip della libreria: jump. Guardala nella Vista 2D della fase Stile: si riproduce, ma fluttua. Il cavaliere si stacca da terra senza accovacciarsi e atterra senza peso.

4. Aggiungi un nodo Timing

Tornato nella fase Azione, seleziona il nodo Clip nel grafo di Azione, scegli Aggiungi un nodo di azione e prendi Timing (sotto Filtri). Va dopo la clip e ricava il resto da quanto veloce si muove ogni parte:

  • Preparazione (anticipazione): appena prima che una parte si muova veloce, si sposta prima un po’ nella direzione opposta.
  • Oltrepasso (follow-through): quando una mossa veloce si ferma, la parte va un po’ oltre e poi torna a posto.
  • Schiacciamento: dove una caduta si ferma, il modello si appiattisce e si allarga per un attimo, poi torna su con un rimbalzo.

5. Le impostazioni

I campi del nodo sono le sue impostazioni: Intensità (1; 0 è la clip così com’è, 2 il doppio), Preparazione, Oltrepasso e Schiacciamento (ognuno 1; 0 è nessuno) e Secondi, quanto durano una preparazione e un assestamento (0.1). Il tutorial imposta l’Intensità a 1.5. Gli stessi numeri danno sempre gli stessi fotogrammi.

6. Con peso

Nella fase Stile ora il salto si accovaccia prima dello stacco e si schiaccia all’atterraggio. Giudicalo fotogramma per fotogramma con Onion skin (O) o Cosa è cambiato (D) della Vista 2D.

7. Esporta

Aggiungi un’uscita File: GIF per clip dalla libreria dei nodi nella fase Asset, poi Esporta: lo sheet, il suo JSON e una GIF del salto.

Dalla riga di comando

--timing mette un nodo Timing su ogni clip di un render: un’intensità, poi qualsiasi impostazione per nome.

pxr render knight.glb --camera platformer --pixels-per-metre 34 --clip lib:jump --timing 1.5
pxr render hero.glb --clip attack --timing 1.5,squash=0,time=0.08
pxr project set game.pixor --timing overshoot=2

pxr project set --no-timing li toglie di nuovo.

Avanti

  • Timing dell’animazione: pause, numero di fotogrammi e quanto deve durare un fotogramma.
  • Animazione sub-pixel: un respiro più piccolo di un pixel.

Domande

Il nodo Timing cambia dove finiscono le pose?

No. Ogni posa in cui la clip sta ferma viene mantenuta esattamente, e niente finisce in un punto diverso da prima. Solo le mosse tra una posa e l’altra ricevono una preparazione prima e un oltrepasso dopo.

Funziona con le clip di Mixamo o altre clip catturate?

Sì. Legge quanto veloce si muove ogni parte, quindi va bene qualsiasi clip: una clip della libreria, un download da Mixamo, chiavi che imposti tu. Le mosse lente restano quasi come sono; quelle veloci ricevono di più.

Una camminata in loop resta in loop?

Sì. In un’azione in loop l’effetto passa da un giro all’altro, quindi una mossa all’inizio ha la sua preparazione alla fine del giro precedente e il loop resta senza stacchi.

Perché il mio sprite si rimpicciolisce quando aggiungo il nodo Timing?

Una camera adattata al modello fa spazio all’accovacciamento più profondo e allo schiacciamento. Imposta la Dimensione della camera su Pixel per metro e la scala resta fissa, qualunque cosa faccia il movimento.

Leggi anche

Provalo sul tuo modello, gratis nel browser, o acquista la versione completa.

Prova nel browser Acquista Pixor