Struct PositionPredictor
This is a utility to implement position predicting.
Inherited Members
Namespace: Unity.Cinemachine
Assembly: Unity.Cinemachine.dll
Syntax
public struct PositionPredictor
Fields
Smoothing
How much to smooth the predicted result. Must be >= 0, roughly corresponds to smoothing time.
Declaration
public float Smoothing
Field Value
Type | Description |
---|---|
float |
Properties
CurrentPosition
Get the current position of the tracked object, as set by the last call to AddPosition(). This is only valid if IsEmpty returns false.
Declaration
public Vector3 CurrentPosition { get; }
Property Value
Type | Description |
---|---|
Vector3 | The current position of the tracked object, as set by the last call to AddPosition() |
IsEmpty
Have any positions been logged for smoothing?
Declaration
public bool IsEmpty { get; }
Property Value
Type | Description |
---|---|
bool | True if no positions have yet been logged, in which case smoothing is impossible |
Methods
AddPosition(Vector3, float)
Add a new target position to the history buffer
Declaration
public void AddPosition(Vector3 pos, float deltaTime)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | pos | The new target position |
float | deltaTime | deltaTime since the last target position was added |
ApplyTransformDelta(Vector3)
Apply a delta to the target's position, which will be ignored for smoothing purposes. Use this when the target's position gets warped.
Declaration
public void ApplyTransformDelta(Vector3 positionDelta)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | positionDelta | The position change of the target object |
PredictPositionDelta(float)
Predict the target's position change over a given time from now
Declaration
public Vector3 PredictPositionDelta(float lookaheadTime)
Parameters
Type | Name | Description |
---|---|---|
float | lookaheadTime | How far ahead in time to predict |
Returns
Type | Description |
---|---|
Vector3 | The predicted position change (current velocity * lookahead time) |
Reset()
Reset the lookahead data, clear all the buffers.
Declaration
public void Reset()