_InterpolationServer
Inherits: Node
Manages interpolation between network ticks
Description
Handles interpolation for multiple TickInterpolator nodes, storing snapshots and applying interpolation based on the network tick factor.
This server can interpolate properties of any arbitrary type. See Interpolators for specifics on how interpolation is implemented.
Methods
| Return Type | Name |
|---|---|
| void | register(Node subject, NodePath property, Interpolators.Interpolator interpolator) |
| void | deregister(Node subject) |
| bool | has_subject(Node subject) |
| void | set_enabled(Node subject, bool enabled) |
| bool | is_enabled(Node subject) |
| void | set_recording(Node subject, bool enabled) |
| bool | is_recording(Node subject) |
| bool | can_interpolate(Node subject) |
| void | push_state(Node subject) |
| void | teleport(Node subject) |
| bool | is_teleporting(Node subject) |
| void | interpolate_subject(Node subject, float factor) |
| void | interpolate(float factor) |
Method Descriptions
void register ( Node subject, NodePath property, Interpolators.Interpolator interpolator )
Register a property for interpolation on a subject node.
If the subject didn't have any properties configured yet, it will be enabled for interpolation and recording. Call set_enabled() and set_recording() to configure the subject after registration. If the property is already registered for this subject, nothing happens.
void deregister ( Node subject )
Deregister all properties for a subject.
bool has_subject ( Node subject )
Return true if the subject is registered.
void set_enabled ( Node subject, bool enabled )
Enable or disable interpolation for a subject.
See is_enabled().
bool is_enabled ( Node subject )
Return true if the subject is enabled for interpolation.
If the subject is enabled, it will be interpolated between ticks.
See set_enabled().
void set_recording ( Node subject, bool enabled )
Enable or disable automatic state recording for a subject.
See is_recording().
bool is_recording ( Node subject )
Return true if the subject is enabled for recording.
This means that the subject's interpolation states will be updated automatically. Use push_state() to update manually.
See set_recording().
bool can_interpolate ( Node subject )
Return true if interpolation can be done for a subject.
May return false for multiple reasons - subject is unknown, not enabled for interpolation, or is currently teleporting.
void push_state ( Node subject )
Record current state for interpolation.
Called automatically, unless disabled with set_recording().
void teleport ( Node subject )
Skip interpolation for this tick.
bool is_teleporting ( Node subject )
Return true if the subject is currently teleporting.
See teleport().
void interpolate_subject ( Node subject, float factor )
Interpolate properties for a subject.
Called automatically by default.
void interpolate ( float factor )
Interpolate all registered subjects.
Called automatically by default.