Class SolverHandler
This class handles the solver components that are attached to this GameObject
Inheritance
SolverHandler
Assembly: cs.temp.dll.dll
public class SolverHandler : MonoBehaviour
Fields
Declaration
protected Handedness currentTrackedHandedness
Field Value
Declaration
protected Handedness preferredTrackedHandedness
Field Value
Declaration
protected readonly List<Solver> solvers
Field Value
Properties
Add an additional offset of the tracked object to base the solver on. Useful for tracking something like a halo position above your head or off the side of a controller.
Declaration
public Vector3 AdditionalOffset { get; set; }
Property Value
Add an additional rotation on top of the tracked object. Useful for tracking what is essentially the up or right/left vectors.
Declaration
public Vector3 AdditionalRotation { get; set; }
Property Value
Declaration
public Vector3Smoothed AltScale { get; set; }
Property Value
Currently tracked hand or motion controller if applicable
Declaration
public Handedness CurrentTrackedHandedness { get; }
Property Value
The timestamp the solvers will use to calculate with.
Declaration
public float DeltaTime { get; set; }
Property Value
The position the solver is trying to move to.
Declaration
public Vector3 GoalPosition { get; set; }
Property Value
The rotation the solver is trying to rotate to.
Declaration
public Quaternion GoalRotation { get; set; }
Property Value
Type |
Description |
Quaternion |
|
The scale the solver is trying to scale to.
Declaration
public Vector3 GoalScale { get; set; }
Property Value
Controller side to favor and pick first if TrackedHandedness is set to both
Declaration
public Handedness PreferredTrackedHandedness { get; set; }
Property Value
List of solvers that this handler will manage and update
Declaration
public IReadOnlyCollection<Solver> Solvers { get; set; }
Property Value
Type |
Description |
IReadOnlyCollection<Solver> |
|
When TrackedTargetType is set to hands, use this specific joint to calculate position and orientation
Declaration
public TrackedHandJoint TrackedHandJoint { get; set; }
Property Value
If tracking hands or motion controllers, determines which hand(s) are valid attachments.
Declaration
public Handedness TrackedHandness { get; set; }
Property Value
Tracked object to calculate position and orientation from. If you want to manually override and use a scene object, use the TransformTarget field.
Declaration
[Obsolete("Use TrackedTargetType instead")]
public TrackedObjectType TrackedObjectToReference { get; set; }
Property Value
Tracked object to calculate position and orientation from. If you want to manually override and use a scene object, use the TransformTarget field.
Declaration
public TrackedObjectType TrackedTargetType { get; set; }
Property Value
Manual override for when TrackedTargetType is set to CustomOverride
Declaration
public Transform TransformOverride { set; }
Property Value
Type |
Description |
Transform |
|
The target transform that the solvers will act upon.
Declaration
public Transform TransformTarget { get; }
Property Value
Type |
Description |
Transform |
|
Whether or not this SolverHandler calls SolverUpdate() every frame. Only one SolverHandler should manage SolverUpdate(). This setting does not affect whether the Target Transform of this SolverHandler gets updated or not.
Declaration
public bool UpdateSolvers { get; set; }
Property Value
Methods
Declaration
protected virtual void AttachToNewTrackedObject()
Declaration
protected virtual void DetachFromCurrentTrackedObject()
Declaration
public static bool IsValidHandedness(Handedness hand)
Parameters
Returns
Declaration
public static bool IsValidTrackedObjectType(TrackedObjectType type)
Parameters
Returns
Declaration
protected void OnDestroy()
Declaration
public void RefreshTrackedObject()
Adds solver
to the list of Solvers guaranteeing inspector ordering.
Declaration
public void RegisterSolver(Solver solver)
Parameters
Type |
Name |
Description |
Solver |
solver |
|
Declaration
protected virtual void Start()
Removes solver
from the list of Solvers.
Declaration
public void UnregisterSolver(Solver solver)
Parameters
Type |
Name |
Description |
Solver |
solver |
|
Declaration
protected virtual void Update()