Filmati della telecamera senza mod: fotogrammi chiave, interpolazione e trucchi da spettatore
Due modi per muovere la telecamera nel vanilla: una funzione di teletrasporto a ogni tick o il registro delle timeline. A cosa serve ciascuno e l'attenuazione per non farlo sembrare robotico.
Non esiste alcun oggetto telecamera nel vanilla, quindi un filmato è una tra due illusioni.
Metodo 1: teletrasportare il giocatore a ogni tick
Il vecchio metodo universale. Metti il giocatore in spettatore, poi muovilo lungo un percorso:
gamemode spectator @s
tp @s 100.0 70.0 200.0 -90.0 10.0
uno tp per tick from a function chain. It works on every version and needs nothing special. The problems are all about smoothness:
- 20 fotogrammi chiave al secondo. Un'inquadratura di dieci secondi sono 200
tplines. - I passaggi lineari sembrano meccanici. I veri movimenti di camera usano attenuazioni in entrata e in uscita.
- La rotazione si riavvolge male. Passare da uno yaw di 170 a -170 è una svolta di 20 gradi, ma un'ingenua
interpolazione ruota di 340 gradi nella direzione sbagliata. Normalizza la differenza dell'angolo nell'intervallo -180…180 prima di avanzare.
Generare quelle righe è lo scopo di uno strumento per fotogrammi chiave: posizioni una manciata di punti ed esso genera la funzione per ogni tick con l'attenuazione applicata.
Attenuazione
La differenza tra un risultato amatoriale e uno guardabile è la curva di interpolazione. Tra due fotogrammi chiave, con t from 0 to 1:
linear t
ease-in-out t < 0.5 ? 2t² : 1 − 2(1−t)²
smoothstep t² × (3 − 2t)
smoothstep is the safe default. Apply it to position and rotation together or the camera arrives before it finishes turning.
Metodo 2: il registro delle timeline
Le versioni più recenti aggiungono un formato timeline che descrive l'intera inquadratura come dati anziché come centinaia di teletrasporti:
data/<namespace>/timeline/intro.json
Fotogrammi chiave con tempi e modalità di interpolazione, riprodotti con un singolo comando. Vantaggi:
- Molto più compatto. Sei fotogrammi chiave invece di duecento teletrasporti.
- L'interpolazione è nativa, quindi niente calcoli matematici manuali per l'attenuazione.
- Indipendente dal framerate — non scatta come farebbe un teletrasporto a ogni tick su un
server sovraccarico.
Il lato negativo è che esiste solo nelle versioni recenti, quindi una mappa destinata a client meno recenti richiede ancora il metodo 1.
Mantenere fermo il giocatore
Entrambi i metodi affrontano due problemi:
- Input del giocatore. La modalità spettatore consente al giocatore di volare via a metà ripresa. Teletrasportarlo di nuovo a ogni tick
lo sovrascrive, motivo per cui il metodo a forza bruta persiste.
- Caricamento dei chunk. Una telecamera che vola in un'area non caricata mostra il vuoto.
/forceloadthe path
prima dell'inquadratura e rimuoverla dopo.
Nascondere l'HUD
/gamerule doImmediateRespawn, spectator mode and F1 get you most of the way. For a clean frame, a resource pack that blanks the HUD sprites removes the crosshair and hotbar without the player pressing anything — see the HUD guide.
Posiziona i fotogrammi chiave lungo un percorso ed esporta una funzione a ogni tick o un JSON di timeline con Costruttori di filmati e timeline.