API to locally transform Nodes in Unreal, hiding visual latency of movement while keeping the instant3Dhub synced.
|
bool | AI3DHConnector::GetWorldTransformWithAuthority (const FI3DHTransformAuthorityHandle TransformAuthorityHandle, int NodeId, FMatrix &OutWorldTransform) |
|
void | AI3DHConnector::SetWorldTransformWithAuthority (const FI3DHTransformAuthorityHandle TransformAuthorityHandle, int NodeId, const FMatrix &WorldTransform) |
|
void | AI3DHConnector::ReleaseTransformAuthority (const FI3DHTransformAuthorityHandle TransformAuthorityHandle) |
|
bool | AI3DHConnector::IsTransformAuthorityActive (const FI3DHTransformAuthorityHandle TransformAuthorityHandle) const |
|
virtual void | FI3DHTransformAuthorityAPI::AcquireTransformAuthority (const TArray< int > &NodeIds, TUniqueFunction< void(FI3DHTransformAuthorityHandle TransformAuthorityHandle, EI3DHErrorCode ErrorCode)> OnComplete)=0 |
|
virtual bool | FI3DHTransformAuthorityAPI::GetWorldTransformWithAuthority (const FI3DHTransformAuthorityHandle TransformAuthorityHandle, int NodeId, FMatrix &OutWorldTransform)=0 |
|
virtual void | FI3DHTransformAuthorityAPI::SetWorldTransformWithAuthority (const FI3DHTransformAuthorityHandle TransformAuthorityHandle, int NodeId, const FMatrix &WorldTransform)=0 |
|
virtual void | FI3DHTransformAuthorityAPI::ReleaseTransformAuthority (const FI3DHTransformAuthorityHandle TransformAuthorityHandle)=0 |
|
virtual bool | FI3DHTransformAuthorityAPI::IsTransformAuthorityActive (const FI3DHTransformAuthorityHandle TransformAuthorityHandle) const =0 |
|
◆ AcquireTransformAuthority()
Acquires authority to transform specified Nodes (and their child Nodes) locally in Unreal.
- Experimental
- Introduced in v0.0.23. "TransformAuthorityAPI is a temporary solution subject to changes or replacement."
This API is experimental. As such, there is no guarantee that it won't change or be removed in future releases. Please use at your own risk.
- Useful to smoothly transform nodes by hiding latency of hub synchronization. Use SetWorldTransformWithAuthority to transform Nodes.
- Authority means that any changes to the transforms of affected Nodes from other sources (including FI3DHInstanceGraphAPI::SetPropertyRelativeTransform) will be overwritten.
- Parameters
-
NodeIds | List of IDs identifying the Nodes to obtain authority for. |
OnComplete | Completion callback. Returns a handle that is required for further requests and to release authority (see ReleaseTransformAuthority). |
- Note
- Acquiring TransformAuthority for a Node multiple times can lead to race conditions when applying the WorldTransform. This also applies to child nodes of any specified Node.
◆ GetWorldTransformWithAuthority() [1/2]
bool AI3DHConnector::GetWorldTransformWithAuthority |
( |
const FI3DHTransformAuthorityHandle | TransformAuthorityHandle, |
|
|
int | NodeId, |
|
|
FMatrix & | OutWorldTransform ) |
Returns the World Transform as currently managed by the Transform Authority.
- Experimental
- Introduced in v0.0.23. "TransformAuthorityAPI is a temporary solution suspect to changes or replacement."
This API is experimental. As such, there is no guarantee that it won't change or be removed in future releases. Please use at your own risk.
- Parameters
-
TransformAuthorityHandle | The Handle obtained with FI3DHTransformAuthorityAPI::AcquireTransformAuthority |
NodeId | The id of the Node whose WorldTransform has to be set. Must have been included in the Node IDs passed during authority acquisition. |
OutWorldTransform | Output parameter receiving the World Transform on success. |
- Returns
- Success/Failure code. Failure might be caused by invalid TransformAuthorityHandle, invalid NodeId (or not part of transform authority), etc.
◆ GetWorldTransformWithAuthority() [2/2]
virtual bool FI3DHTransformAuthorityAPI::GetWorldTransformWithAuthority |
( |
const FI3DHTransformAuthorityHandle | TransformAuthorityHandle, |
|
|
int | NodeId, |
|
|
FMatrix & | OutWorldTransform ) |
|
pure virtual |
Returns the World Transform as currently managed by the Transform Authority.
- Experimental
- Introduced in v0.0.23. "TransformAuthorityAPI is a temporary solution subject to changes or replacement."
This API is experimental. As such, there is no guarantee that it won't change or be removed in future releases. Please use at your own risk.
- Parameters
-
TransformAuthorityHandle | The Handle obtained with AcquireTransformAuthority |
NodeId | The id of the Node whose WorldTransform has to be set. Must have been included in the Node IDs passed during authority acquisition. |
OutWorldTransform | Output parameter receiving the World Transform on success. |
- Returns
- Success/Failure code. Failure might be caused by invalid TransformAuthorityHandle, invalid NodeId (or not part of transform authority), etc.
◆ IsTransformAuthorityActive() [1/2]
Returns whether a TransformAuthority is still active.
- Experimental
- Introduced in v0.0.23. "TransformAuthorityAPI is a temporary solution suspect to changes or replacement."
This API is experimental. As such, there is no guarantee that it won't change or be removed in future releases. Please use at your own risk.
- Returns
- True if active, false otherwise.
◆ IsTransformAuthorityActive() [2/2]
Returns whether a TransformAuthority is still active.
- Experimental
- Introduced in v0.0.23. "TransformAuthorityAPI is a temporary solution subject to changes or replacement."
This API is experimental. As such, there is no guarantee that it won't change or be removed in future releases. Please use at your own risk.
- Returns
- True if active, false otherwise.
◆ ReleaseTransformAuthority() [1/2]
Releases the Transform Authority of the Unreal Client.
- Experimental
- Introduced in v0.0.23. "TransformAuthorityAPI is a temporary solution suspect to changes or replacement."
This API is experimental. As such, there is no guarantee that it won't change or be removed in future releases. Please use at your own risk.
- Note
- Authority remains active internally for Nodes until scheduled Transform updates are synced with the instant3Dhub.
- Parameters
-
◆ ReleaseTransformAuthority() [2/2]
Releases the Transform Authority of the Unreal Client.
- Experimental
- Introduced in v0.0.23. "TransformAuthorityAPI is a temporary solution subject to changes or replacement."
This API is experimental. As such, there is no guarantee that it won't change or be removed in future releases. Please use at your own risk.
- Note
- Authority remains active internally for Nodes until scheduled Transform updates are synced with the instant3Dhub.
- Parameters
-
◆ SetWorldTransformWithAuthority() [1/2]
void AI3DHConnector::SetWorldTransformWithAuthority |
( |
const FI3DHTransformAuthorityHandle | TransformAuthorityHandle, |
|
|
int | NodeId, |
|
|
const FMatrix & | WorldTransform ) |
Immediately sets the World Transform of Actors representing the NodeId (and its child nodes) Unreal client-side only.
- Experimental
- Introduced in v0.0.23. "TransformAuthorityAPI is a temporary solution suspect to changes or replacement."
This API is experimental. As such, there is no guarantee that it won't change or be removed in future releases. Please use at your own risk.
The instant3Dhub is updated at regular intervals.
- Parameters
-
TransformAuthorityHandle | The Handle obtained with FI3DHTransformAuthorityAPI::AcquireTransformAuthority |
NodeId | The id of the Node whose WorldTransform has to be set. Must have been included in the Node IDs passed during authority acquisition. |
WorldTransform | The WorldTransform where the Node should be positioned. |
◆ SetWorldTransformWithAuthority() [2/2]
virtual void FI3DHTransformAuthorityAPI::SetWorldTransformWithAuthority |
( |
const FI3DHTransformAuthorityHandle | TransformAuthorityHandle, |
|
|
int | NodeId, |
|
|
const FMatrix & | WorldTransform ) |
|
pure virtual |
Immediately sets the World Transform of Actors representing the NodeId (and its child nodes) Unreal client-side only.
- Experimental
- Introduced in v0.0.23. "TransformAuthorityAPI is a temporary solution subject to changes or replacement."
This API is experimental. As such, there is no guarantee that it won't change or be removed in future releases. Please use at your own risk.
The instant3Dhub is updated at regular intervals.
- Parameters
-
TransformAuthorityHandle | The Handle obtained with AcquireTransformAuthority |
NodeId | The id of the Node whose WorldTransform has to be set. Must have been included in the Node IDs passed during authority acquisition. |
WorldTransform | The WorldTransform where the Node should be positioned. |