VR Development Framework
v 1.0.0
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties Events Pages
Public Attributes | Protected Member Functions | Protected Attributes | Properties | Private Member Functions | Private Attributes | List of all members
AVR.Avatar.AVR_PoseProvider Class Reference

Estimates the pose of a player from the locations of VR controllers and HMD More...

Inheritance diagram for AVR.Avatar.AVR_PoseProvider:
AVR.Core.AVR_Component AVR.Core.AVR_Behaviour

Public Attributes

Vector3 lookAtPos
 Endpoint of the players view vector More...
 
Quaternion leftHandRot
 Left hand rotation More...
 
Quaternion rightHandRot
 Right hand rotation More...
 
Vector3 leftFootPos
 Left foot position More...
 
Quaternion leftFootRot
 Left foot rotation More...
 
Vector3 rightFootPos
 Right foot position More...
 
Quaternion rightFootRot
 Right foot rotation More...
 
Vector3 pivotPos
 Position of the rig's pivot (Point on the ground directly underneath the HMD) More...
 
Quaternion pivotRot
 Rotation of the pivot More...
 
Vector3 bodyPos
 Position of the body More...
 
Quaternion bodyRot
 Rotation of the body More...
 
Vector3 eyePos
 Position of the head More...
 
Quaternion eyeRot
 Rotation of the head More...
 
AVR_PoseNaturalizationFilter leftHandFilter
 Left hand naturalization filter More...
 
AVR_PoseNaturalizationFilter rightHandFilter
 Right hand naturalization filter More...
 
float body_inertia = 0.3f
 Inertia of the body. (Increasing this will help with micromovements and stutters of the body) More...
 
float lean_blend_speed = 3.5f
 Blending speed between a leaning and standing position More...
 
float max_head_yaw = 30f
 Maximum yaw angle of the head in relation of the body More...
 
float max_head_pitch = 30f
 Maximum pitch angle of the head in relation of the body More...
 
float max_head_roll = 30f
 Maximum roll angle of the head in relation of the body More...
 
float default_body_height = 0.9f
 Default height of the body/torso More...
 
float max_body_height = 1.0f
 Maximum height of the body/torso fromt he ground More...
 
float min_body_height = 0.5f
 Minimum height of the body/torso fromt he ground More...
 
Vector3 local_eye_to_neck_offset = new Vector3(0.0f, -0.1f, -0.05f)
 Local offset vector from eyes to neck More...
 
float neck_body_distance = 0.4f
 Distance between neck and body/torso More...
 
Vector3 foot_offset_from_pivot = new Vector3(0.2f, 0.05f, 0.0f)
 Distance between the right foot and the pivot More...
 
float foot_follow_speed = 3.0f
 Speed at which feet move to their target position More...
 
LayerMask groundCollisionMask
 Collision mask of the ground More...
 
- Public Attributes inherited from AVR.Core.AVR_Component
UnityEngine.Events.UnityEvent onAwake
 Events called when this component awakes. More...
 
UnityEngine.Events.UnityEvent onStart
 Events called when this component starts. More...
 
UnityEngine.Events.UnityEvent onEnable
 Events called when this component is enabled. More...
 
UnityEngine.Events.UnityEvent onDisable
 Events called when this component is disabled. More...
 

Protected Member Functions

override void Awake ()
 
- Protected Member Functions inherited from AVR.Core.AVR_Component
virtual void Start ()
 
virtual void OnEnable ()
 
virtual void OnDisable ()
 

Protected Attributes

Transform leftHandTarget => playerRig.leftHandController ? playerRig.leftHandController.transform : pivotTransform
 
Transform rightHandTarget => playerRig.rightHandController ? playerRig.rightHandController.transform : pivotTransform
 
Transform leftFootTarget
 
Transform rightFootTarget
 
Transform pivotTransform
 
Transform bodyTransform
 
Transform eyeTransform
 
- Protected Attributes inherited from AVR.Core.AVR_Behaviour
AVR_PlayerRig playerRig => AVR_PlayerRig.Instance
 The current AVR_PlayerRig instance in the scene More...
 
AVR_Root root => AVR_Root.Instance
 The current AVR_Root instance in the scene More...
 
bool vrEnabled => UnityEngine.XR.XRSettings.enabled
 True if the application is running as a VR/XR application More...
 

Properties

Vector3 leftHandPos [get]
 Left hand position More...
 
Vector3 rightHandPos [get]
 Right hand position More...
 

Private Member Functions

Vector3 ApplyInertia (Vector3 current, Vector3 target)
 
void SetBody ()
 
void Update ()
 
void GetStandingTransform (out Quaternion rot, out Vector3 pos)
 
void GetLeanTransform (out Quaternion rot, out Vector3 pos)
 
void OnDrawGizmos ()
 
Quaternion CorrectBodyYawAngle (Quaternion rot)
 
void UpdateLeftFoot ()
 
void UpdateRightFoot ()
 
void UpdatePivot ()
 

Private Attributes

float lean_factor = 0.0f
 
float lean_conf = 0.0f
 
float last_yaw = 0.0f
 

Additional Inherited Members

- Public Member Functions inherited from AVR.Core.AVR_Behaviour
virtual void OnDestroy ()
 

Detailed Description

Estimates the pose of a player from the locations of VR controllers and HMD

Definition at line 16 of file AVR_PoseProvider.cs.