_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.
Interpolation can be toggled globally, using set_server_enabled(). Interpolation is disabled by default when running headless, since no rendering is taking place.
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 | set_server_enabled(bool enabled) |
| bool | is_server_enabled() |
| 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 set_server_enabled ( bool enabled )
Toggle interpolation globally.
If turned off, no interpolation will be done. Additionally, all other methods will become inert - for example, register will do nothing.
See is_server_enabled().
bool is_server_enabled ( )
Return true if interpolation is enabled.
See set_server_enabled().
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.