The Best Resource for Minecraft
The Best Resource for Minecraft

Mga cutscene ng camera nang walang mod: mga keyframe, interpolation at mga trick sa spectator

Mga cutscene ng camera nang walang mod: mga keyframe, interpolation at mga trick sa spectator

Dalawang paraan upang igalaw ang camera sa vanilla — isang tumitiktik na teleport function, o ang timeline registry. Kung saan magaling ang bawat isa, at ang smoothing na pumipigil dito na magmukhang robotiko.

Walang object ng camera sa vanilla, kaya ang isang cutscene ay isa sa dalawang ilusyon.

Paraan 1: i-teleport ang manlalaro bawat tick

Ang lumang, pangkalahatang paraan. Ilagay ang manlalaro sa spectator, pagkatapos ay igalaw sila sa isang daanan:

gamemode spectator @s
tp @s 100.0 70.0 200.0 -90.0 10.0

isa tp per tick from a function chain. It works on every version and needs nothing special. The problems are all about smoothness:

  • 20 keyframe bawat segundo. Ang sampung segundong kuha ay 200 tp lines.
  • Mekanikal tingnan ang mga linyar na hakbang. Ang mga totoong galaw ng camera ay nag-i-ease in at out.
  • Hindi maayos ang pag-ikot kapag nag-wrap. Ang pagpunta mula sa yaw 170 hanggang -170 ay 20-degree na pag-ikot, ngunit ang simpleng

interpolation ay umiikot ng 340 degrees sa maling direksyon. I-normalize ang pagkakaiba ng anggulo sa saklaw na -180…180 bago humakbang.

Ang pagbuo ng mga linyang iyon ang layunin ng isang tool sa keyframe — maglalagay ka ng ilang posisyon at ilalabas nito ang per-tick function na may inilapat na easing.

Easing

Ang pagkakaiba sa pagitan ng baguhan at mapapanood ay ang interpolation curve. Sa pagitan ng dalawang keyframe, na may 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.

Paraan 2: ang timeline registry

Ang mga mas bagong bersyon ay nagdaragdag ng timeline format na naglalarawan sa buong kuha bilang data sa halip na daan-daang mga teleport:

data/<namespace>/timeline/intro.json

Mga keyframe na may mga oras at mode ng interpolation, pinatugtog gamit ang iisang command. Mga bentahe:

  • Higit na mas maliit. Anim na keyframe sa halip na dalawandaang teleport.
  • Native ang interpolation, kaya walang manu-manong matematika sa easing.
  • Hindi nakadepende sa frame-rate — hindi ito nag-i-stutter tulad ng per-tick na teleport sa isang

kargadong server.

Ang kabayaran ay umiiral lamang ito sa mga kamakailang bersyon, kaya ang isang map na nakatuon sa mas lumang mga client ay nangangailangan pa rin ng paraan 1.

Pagpapanatili sa manlalaro sa puwesto

Parehong lumalaban ang dalawang paraan sa dalawang bagay:

  • Input ng manlalaro. Hinahayaan ng spectator ang manlalaro na lumipad palayo habang kumukuha. Ang muling pag-teleport bawat tick

ay nangingibabaw dito, na isang dahilan kung bakit nananatili ang paraang brute-force.

  • Pagkarga ng chunk. Ang camera na lumilipad sa hindi pa nakakargang lugar ay nagpapakita ng void. /forceload the path

bago ang kuha at alisin ito pagkatapos.

Pagtatago ng 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.

Maglagay ng mga keyframe sa isang path at i-export ang alinman sa per-tick function o isang timeline JSON gamit ang Mga Tagabuo ng Cutscene at Timeline.

Subukan ang tool: Cutscene & Timeline Builders →