Quantum 3 3.1.0

Public Attributes | Protected Member Functions | List of all members
Quantum.QuantumRagdollLimbView Class Reference

A custom entity view for the parts of the ragdoll. Since ragdoll limbs can have parents in Unity's hierarchy, they must be updated in the correct order. Otherwise, the updating of a parent transform position right after its child position will mess with the limb position. More...

Inheritance diagram for Quantum.QuantumRagdollLimbView:
Quantum.QuantumEntityView Quantum.QuantumMonoBehaviour

Public Attributes

bool HasOverrides => _overrides.IsZero == false
 True when any of the per-limb override deltas is not zero. More...
 
QuantumRagdoll Ragdoll => _ragdollView
 The QuantumRagdoll that baked this limb. Used to track the ownership of the baked components. More...
 
- Public Attributes inherited from Quantum.QuantumEntityView
AssetGuid AssetGuid
 Will set to the AssetObject.Guid that the underlying EntityView asset has. Or receives a new Guid when binding this view script to a scene entity. More...
 
QuantumEntityViewBindBehaviour BindBehaviour
 Set the entity view bind behaviour. If set to QuantumEntityViewBindBehaviour.NonVerified then the view is created during a predicted frame. Entity views created at that time can be subject to changes and even be destroyed because of misprediction. Entity views created during QuantumEntityViewBindBehaviour.Verified will be more stable but are always created at a later time, when the input has been confirmed by the server. More...
 
EntityRef EntityRef
 References the Quantum entity that this view script is liked to. More...
 
Single ErrorCorrectionRateMax = 10f
 
Single ErrorCorrectionRateMin = 3.3f
 
Single ErrorPositionBlendEnd = 1f
 
Single ErrorPositionBlendStart = 0.25f
 
Single ErrorPositionMinCorrection = 0.025f
 
Single ErrorPositionTeleportDistance = 2f
 
Single ErrorRotationBlendEnd = 0.5f
 
Single ErrorRotationBlendStart = 0.1f
 
Single ErrorRotationTeleportDistance = 0.5f
 
float ExponentialAlpha
 The exponential decay interpolation alpha value for this entity view, read-only. More...
 
QuantumEntityViewInterpolationMode InterpolationMode = QuantumEntityViewInterpolationMode.ExponentialDecay
 Set the QuantumEntityViewInterpolationMode. Snapshot-interpolation or AUTO mode require the QuantumEntityViewFlags.SnapshotInterpolationEnabled flag to be set. Default is ExponentialDecay. More...
 
bool ManualDiposal => ManualDisposal
 Obsolete property, use ManualDisposal More...
 
bool ManualDisposal
 If enabled the QuantumEntityViewUpdater will not destroy (or disable, in case of map entities) this instance. The responsibility to destroy the game object is on the user. The OnEntityDestroyed callback will still be called. More...
 
EntityUnityEvent OnEntityDestroyed
 Is called before the entity view is destroyed. More...
 
EntityUnityEvent OnEntityInstantiated
 Is called after the entity view has been instantiated. More...
 
bool OverrideSmoothTime
 Overwrite the smooth time constant for the exponential decay interpolation. By default uses the simulation delta time. This represents the time to correct ~63% of the error, so smaller values will correct faster but might cause more jitter, while bigger values will be smoother but might cause more error. More...
 
float SmoothTime = 0.016f
 The smooth time constant for the exponential decay interpolation. More...
 
bool TeleportWhenScreenChanged = false
 Entities parented to a RectTransform require this to be enabled. More...
 
IQuantumViewComponent[] ViewComponents => _viewComponents
 Access the entity view components registered to this entity view. All view components found on this game object during creation are used. More...
 
QuantumEntityViewFlags ViewFlags
 Set the QuantumEntityViewFlags to further configure the entity view. More...
 

Protected Member Functions

override void ApplyTransform (ref UpdatePositionParameter param)
 This method delegates the application of the final position and rotation interpolation to the QuantumRagdoll LateUpdate. More...
 

Additional Inherited Members

- Public Member Functions inherited from Quantum.QuantumEntityView
bool HasViewFlag (QuantumEntityViewFlags flag)
 Test if a view flag is set. More...
 
virtual void OnActivate (Frame frame)
 A callback to override to add custom logic the activation of this entity view. More...
 
virtual void OnDeactivate ()
 A callback to override to add custom logic to the deactivation of this entity view. More...
 
virtual void OnGameChanged ()
 A callback to override to add custom logic when the associate game has changed on the connected QuantumEntityViewUpdater. More...
 
virtual void OnInitialize ()
 A callback to override to add custom logic to the initialization of this entity view. More...
 
virtual void OnLateUpdateView ()
 A callback to override to add custom logic to the late update method. More...
 
virtual void OnUpdateView ()
 A callback to override to add custom logic to the update method. More...
 
void SetViewFlag (QuantumEntityViewFlags flag, bool isEnabled)
 Set the QuantumEntityViewFlags to further configure the entity view. More...
 
bool TryGetTransform2DData (QuantumEntityViewTimeReference timeRef, ref UpdatePositionParameter param, out int frameNumber, out Transform2D transform, out Transform2DVertical transformVertical, out bool hasVertical, bool isSpawning)
 There are two sources how to get the transform 3D data from an entity. Using the Quantum predicted frames or a snapshot interpolation. Toggle the setting on InterpolationMode. More...
 
bool TryGetTransform3DData (QuantumEntityViewTimeReference timeRef, ref UpdatePositionParameter param, out int frameNumber, out Transform3D transform, bool isSpawning)
 There are two sources how to get the transform 3D data from an entity. Using the Quantum predicted frames or a snapshot interpolation. Toggle the setting on InterpolationMode. More...
 
void UpdateFromTransform2D (ref UpdateViewParameter parameter)
 Apply new transform 2D data and interpolation. More...
 
void UpdateFromTransform3D (ref UpdateViewParameter parameter)
 Apply new transform 3D data and interpolation. More...
 
- Properties inherited from Quantum.QuantumEntityView
QuantumEntityViewUpdater EntityViewUpdater [get]
 A reference to the entity view updater that controls this entity view. More...
 
QuantumGame Game [get]
 A reference to the current game that this entity view belongs to QuantumEntityViewUpdater.ObservedGame. Gets nullified during OnDeactivate. More...
 
bool GameObjectNameIsEntityRef [get, set]
 If set to true, the game object will be renamed to the EntityRef number. More...
 
IQuantumSnapshotInterpolationTimer SnapshotInterpolationTimer [get]
 Snapshot interpolation information, usually stored on QuantumEntityViewUpdater.SnapshotInterpolation. More...
 
Transform Transform [get]
 Access the transform of the entity view. In play mode the transform object will be cached to improve the performance. More...
 
QuantumEntityViewTransformHistory TransformHistory [get]
 The per-tick transform history this view records into and interpolates from, owned by the QuantumEntityViewUpdater. Set on activation. More...
 
Dictionary< Type, IQuantumViewContext > ViewContexts [get]
 All contexts found on the QuantumEntityViewUpdater game object accessible by their type. More...
 

Detailed Description

A custom entity view for the parts of the ragdoll. Since ragdoll limbs can have parents in Unity's hierarchy, they must be updated in the correct order. Otherwise, the updating of a parent transform position right after its child position will mess with the limb position.

Member Function Documentation

◆ ApplyTransform()

override void Quantum.QuantumRagdollLimbView.ApplyTransform ( ref UpdatePositionParameter  param)
inlineprotectedvirtual

This method delegates the application of the final position and rotation interpolation to the QuantumRagdoll LateUpdate.

Parameters
param

Reimplemented from Quantum.QuantumEntityView.

Member Data Documentation

◆ Ragdoll

QuantumRagdoll Quantum.QuantumRagdollLimbView.Ragdoll => _ragdollView

The QuantumRagdoll that baked this limb. Used to track the ownership of the baked components.

◆ HasOverrides

bool Quantum.QuantumRagdollLimbView.HasOverrides => _overrides.IsZero == false

True when any of the per-limb override deltas is not zero.