Interface CameraSequenceSource


public interface CameraSequenceSource
A driver of a server-authored camera sequence. The client streams the track in a window at a time by asking the server for ranges, which calls writeKeyframes(int, int, CameraKeyframe[]), so a source can generate keyframes on demand instead of holding the whole track. CameraSequenceBuilder is the list-backed implementation for short pre-authored sequences. A system that drives the camera live, such as a cinematic or machinima timeline, implements this directly.
  • Method Summary

    Modifier and Type
    Method
    Description
    Base FOV held where a keyframe does not override it, or null to keep the player's own FOV.
    byte
    The CameraSequenceFlags bitset applied for the duration of the sequence.
    int
    Total keyframes in the track.
    default void
    onComplete(PlayerRef playerRef)
    Called on the world thread once the client acks that the sequence finished playing, so the source can run any follow-up.
    void
    writeKeyframes(int fromIndex, int count, CameraKeyframe[] out)
    Writes keyframes for indices [fromIndex, fromIndex + count) into out[0..count).
  • Method Details

    • flags

      byte flags()
      The CameraSequenceFlags bitset applied for the duration of the sequence.
    • baseFov

      @Nullable Float baseFov()
      Base FOV held where a keyframe does not override it, or null to keep the player's own FOV.
    • keyframeCount

      int keyframeCount()
      Total keyframes in the track. Must stay constant for the lifetime of an active sequence (from begin until the client acks completion): it is sent once as the track length and re-read to bound every window request, so a value that changes mid-sequence would desync the two.
    • writeKeyframes

      void writeKeyframes(int fromIndex, int count, @Nonnull CameraKeyframe[] out)
      Writes keyframes for indices [fromIndex, fromIndex + count) into out[0..count). Both arguments are already clamped to the track by the caller.
    • onComplete

      default void onComplete(@Nonnull PlayerRef playerRef)
      Called on the world thread once the client acks that the sequence finished playing, so the source can run any follow-up. Not called if the sequence is superseded or the connection drops.