Humanoid Control for Unity  v3
Passer.Humanoid.HumanoidControl Class Reference

Control avatars using tracking and animation options More...

Inheritance diagram for Passer.Humanoid.HumanoidControl:
Passer.Pawn.PawnControl

Public Types

enum  PrimaryTarget { Head, Hips }
 
enum  TargetId {
  Hips, Head, LeftHand, RightHand,
  LeftFoot, RightFoot, Face
}
 
enum  ScalingType { None, SetHeightToAvatar, ScaleTrackingToAvatar, ScaleAvatarToTracking }
 Types of Scaling which can be used to scale the tracking input to the size of the avatar More...
 
enum  StartPosition { AvatarPosition, PlayerPosition }
 Types of startposition for the Pawn More...
 
enum  MatchingType { None, SetHeightToCharacter }
 Options for matching the player to the game character More...
 

Public Member Functions

void ChangeAvatar (GameObject fpAvatarPrefab)
 
void ChangeAvatar (GameObject fpAvatarPrefab, GameObject tpAvatarPrefab)
 
void LocalChangeAvatar (GameObject avatarPrefab)
 
void InitializeAvatar ()
 
void InitAvatar ()
 Analyses the avatar's properties requires for the movements More...
 
void ScaleAvatarToTracking ()
 
Animator GetAvatar (GameObject avatarRoot)
 Retrieve the avatar rig for this humanoid More...
 
override void InitTargets ()
 Initialize the targets for this humanoid More...
 
void DetermineTargets ()
 Checks the humanoid for presence of Targets and adds them if they are not found More...
 
void MatchTargetsToAvatar ()
 Changes the target rig transforms to match the avatar rig More...
 
void UpdateMovements ()
 Updates the avatar pose based on the targets rig More...
 
void CopyRigToTargets ()
 Copies the pose of the avatar to the target rig More...
 
void UpdateSensorsFromTargets ()
 Updated the sensor transform from the target transforms More...
 
HumanoidTarget.TargetedBone GetBone (Bone boneId)
 Get the Humanoid Bone More...
 
HumanoidTarget.TargetedBone GetBone (Side side, SideBone sideBoneId)
 Get the Humanoid Bone on the incated side of the humanoid More...
 
void ScaleTrackingToAvatar ()
 
override void AdjustTracking (Vector3 translation)
 Adjust the tracking origin of all trackers More...
 
void AdjustTracking (Vector3 translation, Quaternion rotation)
 Adjust the tracking origin of all trackers More...
 
void RetrieveBones ()
 Scans the humanoid to retrieve all bones More...
 
void OnApplicationQuit ()
 
delegate void OnNewNeckHeight (float neckHeight)
 
override void SetStartPosition ()
 
override void Calibrate ()
 Calibrates the tracking with the player More...
 
delegate void OnHumanoidPose (HumanoidPose pose)
 
override void MoveForward (float z)
 maximum forward speed in units(meters)/second More...
 
override void MoveSideward (float x)
 Moves the humanoid sideward More...
 
virtual void Move (Vector3 velocity)
 Moves the humanoid More...
 
override void Stop ()
 Stop any translational movement of the Pawn More...
 
override void Rotate (float angularSpeed)
 Rotate the humanoid More...
 
override void Rotation (float yAngle)
 Set the rotation angle along the Y axis More...
 
void Dash (Vector3 targetPosition)
 Quickly moves this humanoid to the given position More...
 
void Teleport (Vector3 targetPosition)
 Teleports this humanoid to the given position More...
 
void TeleportForward (float distance=1)
 Teleports the humanoid in the forward direction More...
 
void MoveTo (Vector3 position, MovementType movementType=MovementType.Teleport)
 Moves the humanoid to the given position More...
 
override void Jump (float takeoffVelocity)
 Let the pawn jump More...
 
Vector3 CheckMovement ()
 
bool IsMyRigidbody (Rigidbody rigidbody)
 
float GetDistanceToGroundAt (Vector3 position, float maxDistance)
 
override float GetDistanceToGroundAt (Vector3 position, float maxDistance, out Transform ground, out Vector3 normal)
 
void SetAnimationParameterBool (string parameterName, bool boolValue)
 
void SetAnimationParameterFloat (string parameterName, float floatValue)
 
void SetAnimationParameterInt (string parameterName, int intValue)
 
void SetAnimationParameterTrigger (string parameterName)
 
Vector3 GetHumanoidPosition ()
 The humanoid can be on a differentlocation than the humanoid.transform because the tracking can move the humanoid around independently This function takes this into account More...
 
delegate void OnNewHumanoid (HumanoidControl humanoid)
 
void AddHumanoid ()
 
bool IsVisible (Camera camera)
 
void set_bodyPull (bool value)
 
virtual CharacterController GetCharacter ()
 
IEnumerator RotateTo (Quaternion targetRotation)
 Rotation animation to reach the given rotation More...
 
IEnumerator LookAt (Vector3 targetPosition)
 Rotation animation to look at the given position More...
 
IEnumerator WalkTo (Vector3 targetPosition)
 Movement animation to reach the given position More...
 
IEnumerator WalkTo (Vector3 targetPosition, Quaternion targetRotation)
 Movement animation to reach the given position and rotation More...
 

Static Public Member Functions

static void SetControllerID (HumanoidControl humanoid, int controllerID)
 
static void CheckTargetRig (HumanoidControl humanoid)
 Match the target rig transform to the humanoid transform More...
 
static GameObject GetRealWorld (Transform transform)
 Gets the Real World GameObject for this Humanoid More...
 
static GameObject FindTrackerObject (GameObject realWorld, string trackerName)
 Tries to find a tracker GameObject by name More...
 
static HumanoidControl[] AllVisibleHumanoids (Camera camera)
 

Public Attributes

string path
 The path at which the HumanoidControl script is found More...
 
new HeadTarget headTarget
 
new HandTarget leftHandTarget
 The target script to control the left arm bones More...
 
new HandTarget rightHandTarget
 The target script to control the right arm bones More...
 
HipsTarget hipsTarget
 The target script to control the torso bones More...
 
FootTarget leftFootTarget
 The target script to control the left leg bones More...
 
FootTarget rightFootTarget
 The target script to control the right leg bones More...
 
PrimaryTarget primaryTarget
 
Animator targetsRig
 The target bones rig More...
 
bool showTargetRig = false
 Draws the target rig in the scene view More...
 
Animator avatarRig
 The avatar Rig More...
 
bool showAvatarRig = true
 Draws the avatar rig in the scene view More...
 
float avatarNeckHeight
 The neck height of the avatar More...
 
bool showMuscleTension = false
 Draws the tension at the joints of the avatar More...
 
bool calculateBodyPose = true
 Calculate the avatar pose More...
 
bool animatorEnabled = true
 Enables the animator for this humanoid More...
 
RuntimeAnimatorController animatorController = null
 The Animator for this humanoid More...
 
Pose pose
 The pose of this humanoid More...
 
bool editPose
 Is true when the pose is currently being edited More...
 
IHumanoidNetworking humanoidNetworking
 The networking interface More...
 
GameObject remoteAvatar
 The remote avatar prefab for this humanoid More...
 
int playerType
 Is true when this is a remote avatar More...
 
bool syncRootTransform = true
 
string remoteTrackerIpAddress
 
int humanoidId = -1
 The local Id of this humanoid More...
 
bool generateColliders = true
 If true, it wil generate colliders for the avatar where necessary More...
 
bool haptics = false
 Will use haptic feedback on supported devices when the hands are colliding or touching objects More...
 
bool disconnectInstances = false
 
bool gameControllerEnabled = true
 Use game controller input More...
 
Passer.Controller controller
 The game controller for this pawn More...
 
int gameControllerIndex
 The index of the game controller More...
 
UnityVRTracker unity = new UnityVRTracker()
 The Unity XR tracker More...
 
OpenVRHumanoidTracker openVR = new OpenVRHumanoidTracker()
 
OculusHumanoidTracker oculus = new OculusHumanoidTracker()
 The Oculus tracker More...
 
WindowsMRTracker mixedReality = new WindowsMRTracker()
 The Windows Mixed Reality tracker More...
 
WaveVRTracker waveVR = new WaveVRTracker()
 The Wave VR tracker More...
 
VrtkTracker vrtk = new VrtkTracker()
 The VRTK tracker More...
 
NeuronTracker neuronTracker = new NeuronTracker()
 The Perception Neuron tracker More...
 
LeapTracker leapTracker = new LeapTracker()
 The Leap Motion tracker More...
 
RealsenseTracker realsense = new RealsenseTracker()
 The Intel RealSense tracker More...
 
HydraTracker hydra = new HydraTracker()
 The Razer Hydra tracker More...
 
Kinect1Tracker kinect1 = new Kinect1Tracker()
 The Microsoft Kinect 360/Kinect for Windows tracker More...
 
Kinect2Tracker kinect2 = new Kinect2Tracker()
 The Microsoft Kinect 2 tracker More...
 
Kinect4Tracker kinect4 = new Kinect4Tracker()
 Azure Kinect tracker More...
 
AstraTracker astra = new AstraTracker()
 The Orbbec Astra tracker More...
 
OptiTracker optitrack = new OptiTracker()
 The OptiTrack tracker More...
 
TobiiTracker tobiiTracker = new TobiiTracker()
 The Tobii tracker More...
 
ArKit arkit = new ArKit()
 
Tracking.Pupil.Tracker pupil = new Tracking.Pupil.Tracker()
 The Pupil Labs tracker More...
 
DlibTracker dlib = new DlibTracker()
 The Dlib tracker More...
 
AntilatencyTracker antilatency = new AntilatencyTracker()
 
Hi5Tracker hi5 = new Hi5Tracker()
 
Vector3 targetVelocity
 
Vector3 acceleration
 
float turningVelocity
 
bool triggerEntered
 
bool collided
 
Vector3 hitNormal = Vector3.zero
 
Rigidbody humanoidRigidbody
 
Rigidbody characterRigidbody
 
CapsuleCollider bodyCapsule
 
CapsuleCollider bodyCollider
 
bool useLegLengthCorrection = false
 
string animatorParameterForward
 
string animatorParameterSideward
 
string animatorParameterRotation
 
string animatorParameterHeight
 
int animatorParameterForwardIndex
 
int animatorParameterSidewardIndex
 
int animatorParameterRotationIndex
 
int animatorParameterHeightIndex
 
bool showRealObjects = true
 If true, real world objects like controllers and cameras are shown in the scene More...
 
bool physics = true
 Enables controller physics and collisions during walking. More...
 
bool useGravity = true
 If there is not static object below the feet of the avatar the avatar will fall down until it reaches solid ground More...
 
float stepOffset = 0.3F
 The maximum height of objects of the ground which do not stop the humanoid More...
 
bool bodyPull = false
 Will move the pawn position when grabbing handles on static objects More...
 
bool proximitySpeed = false
 Reduces the walking speed of the humanoid when in the neighbourhood of objects to reduce motion sickness. More...
 
float proximitySpeedRate = 0.8f
 The amount of influence of the proximity speed. 1=No influence, 0 = Maximum More...
 
StartPosition startPosition = StartPosition.AvatarPosition
 The start position of the humanoid More...
 
bool calibrateAtStart = false
 Perform a calibration when the scene starts More...
 
bool dontDestroyOnLoad = false
 Sets the Don't Destoy On Load such that the pawn survives scene changes More...
 
UnityTracker unityTracker = new UnityTracker()
 
float forwardSpeed = 1
 maximum forward speed in units(meters)/second More...
 
float backwardSpeed = 0.6F
 maximum backward speed in units(meters)/second More...
 
float sidewardSpeed = 1
 maximum sideways speed in units(meters)/second More...
 
float maxAcceleration = 1
 maximum acceleration in units(meters)/second/second value 0 = no maximum acceleration More...
 
float rotationSpeed = 60
 maximum rotational speed in degrees/second More...
 
Vector3 velocity
 The current velocity of the Pawn More...
 
Transform ground
 The ground Transform on which the pawn is standing More...
 
Vector3 groundVelocity
 The velocity of the ground on which the pawn is standing More...
 
float groundAngularVelocity
 The angular velocity of the ground on which the pawn is standing More...
 
IPawnNetworking networking
 The networking interface More...
 
bool isRemote = false
 Is true when this is a remote pawn More...
 
ulong nwId
 The Id of this pawn across the network More...
 
int id = -1
 The local Id of this humanoid More...
 

Protected Member Functions

override void Awake ()
 
override void NewTargetComponents ()
 
override void StartTargets ()
 Start the targets for this humanoid More...
 
override void UpdateTargets ()
 
override void InitTrackers ()
 
override void StartTrackers ()
 
override void UpdateTrackers ()
 
override void StartSensors ()
 
override void StopSensors ()
 
override void SetTrackingHeightToAvatar ()
 Adjust Y position to match the tracking with the avatar More...
 
override void Update ()
 
override void FixedUpdate ()
 
override void LateUpdate ()
 
virtual void UpdatePose ()
 
virtual void UpdatePoseEvent ()
 
override void CalculateMovement ()
 
override void CheckGround ()
 
override void CheckGrounded ()
 
override void CheckGroundMovement ()
 
void KinematicBodyControlOneHanded (HandTarget handTarget)
 
void KinematicBodyControlTwoHanded ()
 
override void Fall ()
 
virtual float GetCharacterSoleThickness ()
 
virtual void UpdateCharacter ()
 
virtual void CalculateMovement2 ()
 
virtual void CalculateVelocity ()
 

Protected Attributes

ScalingType scaling = ScalingType.SetHeightToAvatar
 Scale Tracking to Avatar scales the tracking input to match the size of the avatar More...
 
MatchingType avatarMatching = MatchingType.SetHeightToCharacter
 Scale Tracking to Avatar scales the tracking input to match the size of the avatar More...
 
CharacterController characterController
 
PawnHead _headTarget
 
PawnHand _leftHandTarget
 
PawnHand _rightHandTarget
 
Transform _realWorld
 
Vector3 gravitationalVelocity
 
Vector3 inputMovement = Vector3.zero
 
Transform lastGround
 
Vector3 lastGroundPosition = Vector3.zero
 
float lastGroundAngle = 0
 
float lastVelocityTime
 
Vector3 lastPosition
 

Properties

float trackingNeckHeight [get]
 The neck height of the target rig More...
 
bool showSkeletons [get, set]
 If enabled, tracking skeletons will be rendered More...
 
new HumanoidTracker[] trackers [get]
 All available trackers for this humanoid More...
 
Vector3? up [get]
 
static HumanoidControl[] allHumanoids [get]
 
virtual float neckHeight [get]
 
virtual float height [get]
 
virtual float radius [get]
 
Transform realWorld [get]
 The transform containing all real-world objects More...
 

Events

OnNewNeckHeight OnNewNeckHeightEvent
 
OnHumanoidPose onHumanoidPose
 
static OnNewHumanoid onNewHumanoid
 

Detailed Description

Control avatars using tracking and animation options

More inforation on the Humanoid Control Unity Component click here

Member Enumeration Documentation

◆ ScalingType

Types of Scaling which can be used to scale the tracking input to the size of the avatar

SetHeightToAvatar adjusts the vertical tracking to match the avatar size. MoveHeightToAvatar does the same but also resets the tracking origin to the location of the avatar. ScaleTrackingToAvatar scales the tracking space to match the avatar size. ScaleAvatarToTracking resizes the avatar to match the player size.

◆ StartPosition

Types of startposition for the Pawn

◆ MatchingType

Options for matching the player to the game character

Member Function Documentation

◆ InitAvatar()

void Passer.Humanoid.HumanoidControl.InitAvatar ( )

Analyses the avatar's properties requires for the movements

◆ CheckTargetRig()

static void Passer.Humanoid.HumanoidControl.CheckTargetRig ( HumanoidControl  humanoid)
static

Match the target rig transform to the humanoid transform

◆ GetAvatar()

Animator Passer.Humanoid.HumanoidControl.GetAvatar ( GameObject  avatarRoot)

Retrieve the avatar rig for this humanoid

◆ InitTargets()

override void Passer.Humanoid.HumanoidControl.InitTargets ( )
virtual

Initialize the targets for this humanoid

Reimplemented from Passer.Pawn.PawnControl.

◆ StartTargets()

override void Passer.Humanoid.HumanoidControl.StartTargets ( )
protectedvirtual

Start the targets for this humanoid

Reimplemented from Passer.Pawn.PawnControl.

◆ DetermineTargets()

void Passer.Humanoid.HumanoidControl.DetermineTargets ( )

Checks the humanoid for presence of Targets and adds them if they are not found

◆ MatchTargetsToAvatar()

void Passer.Humanoid.HumanoidControl.MatchTargetsToAvatar ( )

Changes the target rig transforms to match the avatar rig

◆ UpdateMovements()

void Passer.Humanoid.HumanoidControl.UpdateMovements ( )

Updates the avatar pose based on the targets rig

◆ CopyRigToTargets()

void Passer.Humanoid.HumanoidControl.CopyRigToTargets ( )

Copies the pose of the avatar to the target rig

◆ UpdateSensorsFromTargets()

void Passer.Humanoid.HumanoidControl.UpdateSensorsFromTargets ( )

Updated the sensor transform from the target transforms

◆ GetBone() [1/2]

HumanoidTarget.TargetedBone Passer.Humanoid.HumanoidControl.GetBone ( Bone  boneId)

Get the Humanoid Bone

Parameters
boneIdThe identification of the requested bone

◆ GetBone() [2/2]

HumanoidTarget.TargetedBone Passer.Humanoid.HumanoidControl.GetBone ( Side  side,
SideBone  sideBoneId 
)

Get the Humanoid Bone on the incated side of the humanoid

Parameters
sideThe requested side of the humanoid
sideBoneIdThe identification of the requested bone

◆ SetTrackingHeightToAvatar()

override void Passer.Humanoid.HumanoidControl.SetTrackingHeightToAvatar ( )
protectedvirtual

Adjust Y position to match the tracking with the avatar

This function will adjust the vertical position of the tracking origin such that the tracking matches the avatar. This function should preferably be executed when the player is in a base position: either standing upright or sitting upright, depending on the playing pose. This will prevent the avatar being in the air or in a crouching position when the player is taller or smaller than the avatar itself. It retains 1:1 tracking and the X/Z position of the player are not affected.

Reimplemented from Passer.Pawn.PawnControl.

◆ AdjustTracking() [1/2]

override void Passer.Humanoid.HumanoidControl.AdjustTracking ( Vector3  translation)
virtual

Adjust the tracking origin of all trackers

Parameters
translationThe translation to apply to the tracking origin

Reimplemented from Passer.Pawn.PawnControl.

◆ AdjustTracking() [2/2]

void Passer.Humanoid.HumanoidControl.AdjustTracking ( Vector3  translation,
Quaternion  rotation 
)

Adjust the tracking origin of all trackers

Parameters
translationThe translation to apply to the tracking origin
rotationThe rotation to apply to the tracking origin

◆ RetrieveBones()

void Passer.Humanoid.HumanoidControl.RetrieveBones ( )

Scans the humanoid to retrieve all bones

◆ Calibrate()

override void Passer.Humanoid.HumanoidControl.Calibrate ( )
virtual

Calibrates the tracking with the player

Reimplemented from Passer.Pawn.PawnControl.

◆ MoveForward()

override void Passer.Humanoid.HumanoidControl.MoveForward ( float  z)
virtual

maximum forward speed in units(meters)/second

maximum backward speed in units(meters)/second

maximum sideways speed in units(meters)/second

maximum acceleration in units(meters)/second/second value 0 = no maximum acceleration

maximum rotational speed in degrees/second

Moves the humanoid forward

Parameters
zThe distance in units(meters) to move forward.

Reimplemented from Passer.Pawn.PawnControl.

◆ MoveSideward()

override void Passer.Humanoid.HumanoidControl.MoveSideward ( float  x)
virtual

Moves the humanoid sideward

Parameters
xThe distance in units(meters) to move sideward.

Reimplemented from Passer.Pawn.PawnControl.

◆ Move()

virtual void Passer.Humanoid.HumanoidControl.Move ( Vector3  velocity)
virtual

Moves the humanoid

◆ Stop()

override void Passer.Humanoid.HumanoidControl.Stop ( )
virtual

Stop any translational movement of the Pawn

Reimplemented from Passer.Pawn.PawnControl.

◆ Rotate()

override void Passer.Humanoid.HumanoidControl.Rotate ( float  angularSpeed)
virtual

Rotate the humanoid

Rotates the humanoid along the Y axis

Parameters
angularSpeedThe speed in degrees per second

Reimplemented from Passer.Pawn.PawnControl.

◆ Rotation()

override void Passer.Humanoid.HumanoidControl.Rotation ( float  yAngle)
virtual

Set the rotation angle along the Y axis

Reimplemented from Passer.Pawn.PawnControl.

◆ Dash()

void Passer.Humanoid.HumanoidControl.Dash ( Vector3  targetPosition)

Quickly moves this humanoid to the given position

Parameters
targetPositionThe position to move to

◆ Teleport()

void Passer.Humanoid.HumanoidControl.Teleport ( Vector3  targetPosition)

Teleports this humanoid to the given position

Parameters
targetPositionThe position to move to

◆ TeleportForward()

void Passer.Humanoid.HumanoidControl.TeleportForward ( float  distance = 1)

Teleports the humanoid in the forward direction

Parameters
distanceThe distance to teleport

The forward direction is determined by the hips target forward.

◆ MoveTo()

void Passer.Humanoid.HumanoidControl.MoveTo ( Vector3  position,
MovementType  movementType = MovementType.Teleport 
)

Moves the humanoid to the given position

Parameters
movementTypeThe type of movement to use

◆ Jump()

override void Passer.Humanoid.HumanoidControl.Jump ( float  takeoffVelocity)
virtual

Let the pawn jump

<param name="takeoffVelocity>The takeoff velocity of the jump

Reimplemented from Passer.Pawn.PawnControl.

◆ GetRealWorld()

static GameObject Passer.Humanoid.HumanoidControl.GetRealWorld ( Transform  transform)
static

Gets the Real World GameObject for this Humanoid

Parameters
transformThe root transform of the humanoid

◆ FindTrackerObject()

static GameObject Passer.Humanoid.HumanoidControl.FindTrackerObject ( GameObject  realWorld,
string  trackerName 
)
static

Tries to find a tracker GameObject by name

Parameters
realWorldThe Real World GameOject in which the tracker should be
trackerNameThe name of the tracker GameObject to find

◆ GetHumanoidPosition()

Vector3 Passer.Humanoid.HumanoidControl.GetHumanoidPosition ( )

The humanoid can be on a differentlocation than the humanoid.transform because the tracking can move the humanoid around independently This function takes this into account

Returns
The position of the humanoid

◆ RotateTo()

IEnumerator Passer.Pawn.PawnControl.RotateTo ( Quaternion  targetRotation)
inherited

Rotation animation to reach the given rotation

The speed of the rotation is determined by the rotationSpeed

Parameters
targetRotationThe target rotation

◆ LookAt()

IEnumerator Passer.Pawn.PawnControl.LookAt ( Vector3  targetPosition)
inherited

Rotation animation to look at the given position

The speed of the rotation is determined by the rotationSpeed

Parameters
targetPositionThe position to look at
Returns

◆ WalkTo() [1/2]

IEnumerator Passer.Pawn.PawnControl.WalkTo ( Vector3  targetPosition)
inherited

Movement animation to reach the given position

The pawn will walk to the given position. The speed of the movement is determined by forwardSpeed. Any required rotation will be limited by rotationSpeed

Parameters
targetPositionThe position to where the pawn should walk
Returns

◆ WalkTo() [2/2]

IEnumerator Passer.Pawn.PawnControl.WalkTo ( Vector3  targetPosition,
Quaternion  targetRotation 
)
inherited

Movement animation to reach the given position and rotation

The pawn will walk to the given position and rotation. The speed of the movement is determined by forwardSpeed. Any required rotation will be limited by rotationSpeed

Parameters
targetPositionThe position to where the pawn should walk
targetRotationThe rotation the pawn should have at the end
Returns

Member Data Documentation

◆ path

string Passer.Humanoid.HumanoidControl.path

The path at which the HumanoidControl script is found

◆ leftHandTarget

new HandTarget Passer.Humanoid.HumanoidControl.leftHandTarget

The target script to control the left arm bones

◆ rightHandTarget

new HandTarget Passer.Humanoid.HumanoidControl.rightHandTarget

The target script to control the right arm bones

◆ hipsTarget

HipsTarget Passer.Humanoid.HumanoidControl.hipsTarget

The target script to control the torso bones

◆ leftFootTarget

FootTarget Passer.Humanoid.HumanoidControl.leftFootTarget

The target script to control the left leg bones

◆ rightFootTarget

FootTarget Passer.Humanoid.HumanoidControl.rightFootTarget

The target script to control the right leg bones

◆ targetsRig

Animator Passer.Humanoid.HumanoidControl.targetsRig

The target bones rig

The target bones rig contain the target pose of the avatar The humanoid movements will try to move the avatar such that the target pose is reached as closely as possible

◆ showTargetRig

bool Passer.Humanoid.HumanoidControl.showTargetRig = false

Draws the target rig in the scene view

◆ avatarRig

Animator Passer.Humanoid.HumanoidControl.avatarRig

The avatar Rig

This is the rig of the avatar we want to control.

◆ showAvatarRig

bool Passer.Humanoid.HumanoidControl.showAvatarRig = true

Draws the avatar rig in the scene view

◆ avatarNeckHeight

float Passer.Humanoid.HumanoidControl.avatarNeckHeight

The neck height of the avatar

◆ showMuscleTension

bool Passer.Humanoid.HumanoidControl.showMuscleTension = false

Draws the tension at the joints of the avatar

◆ calculateBodyPose

bool Passer.Humanoid.HumanoidControl.calculateBodyPose = true

Calculate the avatar pose

When this option is enabled, the pose of the avatar is updated from the target rig using the Humanoid movements. If you are only interested in the tracking result, you can disable this option and use the target rig to access the tracked pose.

◆ animatorEnabled

bool Passer.Humanoid.HumanoidControl.animatorEnabled = true

Enables the animator for this humanoid

◆ animatorController

RuntimeAnimatorController Passer.Humanoid.HumanoidControl.animatorController = null

The Animator for this humanoid

◆ pose

Pose Passer.Humanoid.HumanoidControl.pose

The pose of this humanoid

◆ editPose

bool Passer.Humanoid.HumanoidControl.editPose

Is true when the pose is currently being edited

◆ humanoidNetworking

IHumanoidNetworking Passer.Humanoid.HumanoidControl.humanoidNetworking

The networking interface

◆ remoteAvatar

GameObject Passer.Humanoid.HumanoidControl.remoteAvatar

The remote avatar prefab for this humanoid

◆ playerType

int Passer.Humanoid.HumanoidControl.playerType

Is true when this is a remote avatar

Remote avatars are not controlled locally, but are controlled from another computer. These are copies of the avatar on that other computer and are updated via messages exchanges on a network.

The Id of this humanoid across the network

The Player Type of the humanoid

◆ humanoidId

int Passer.Humanoid.HumanoidControl.humanoidId = -1

The local Id of this humanoid

◆ generateColliders

bool Passer.Humanoid.HumanoidControl.generateColliders = true

If true, it wil generate colliders for the avatar where necessary

◆ haptics

bool Passer.Humanoid.HumanoidControl.haptics = false

Will use haptic feedback on supported devices when the hands are colliding or touching objects

◆ scaling

ScalingType Passer.Humanoid.HumanoidControl.scaling = ScalingType.SetHeightToAvatar
protected

Scale Tracking to Avatar scales the tracking input to match the size of the avatar

◆ gameControllerEnabled

bool Passer.Humanoid.HumanoidControl.gameControllerEnabled = true

Use game controller input

◆ controller

Passer.Controller Passer.Humanoid.HumanoidControl.controller

The game controller for this pawn

◆ gameControllerIndex

int Passer.Humanoid.HumanoidControl.gameControllerIndex

The index of the game controller

◆ unity

UnityVRTracker Passer.Humanoid.HumanoidControl.unity = new UnityVRTracker()

The Unity XR tracker

◆ oculus

OculusHumanoidTracker Passer.Humanoid.HumanoidControl.oculus = new OculusHumanoidTracker()

The Oculus tracker

◆ mixedReality

WindowsMRTracker Passer.Humanoid.HumanoidControl.mixedReality = new WindowsMRTracker()

The Windows Mixed Reality tracker

◆ waveVR

WaveVRTracker Passer.Humanoid.HumanoidControl.waveVR = new WaveVRTracker()

The Wave VR tracker

◆ vrtk

VrtkTracker Passer.Humanoid.HumanoidControl.vrtk = new VrtkTracker()

The VRTK tracker

◆ neuronTracker

NeuronTracker Passer.Humanoid.HumanoidControl.neuronTracker = new NeuronTracker()

The Perception Neuron tracker

◆ leapTracker

LeapTracker Passer.Humanoid.HumanoidControl.leapTracker = new LeapTracker()

The Leap Motion tracker

◆ realsense

RealsenseTracker Passer.Humanoid.HumanoidControl.realsense = new RealsenseTracker()

The Intel RealSense tracker

◆ hydra

HydraTracker Passer.Humanoid.HumanoidControl.hydra = new HydraTracker()

The Razer Hydra tracker

◆ kinect1

Kinect1Tracker Passer.Humanoid.HumanoidControl.kinect1 = new Kinect1Tracker()

The Microsoft Kinect 360/Kinect for Windows tracker

◆ kinect2

Kinect2Tracker Passer.Humanoid.HumanoidControl.kinect2 = new Kinect2Tracker()

The Microsoft Kinect 2 tracker

◆ kinect4

Kinect4Tracker Passer.Humanoid.HumanoidControl.kinect4 = new Kinect4Tracker()

Azure Kinect tracker

◆ astra

AstraTracker Passer.Humanoid.HumanoidControl.astra = new AstraTracker()

The Orbbec Astra tracker

◆ optitrack

OptiTracker Passer.Humanoid.HumanoidControl.optitrack = new OptiTracker()

The OptiTrack tracker

◆ tobiiTracker

TobiiTracker Passer.Humanoid.HumanoidControl.tobiiTracker = new TobiiTracker()

The Tobii tracker

◆ pupil

Tracking.Pupil.Tracker Passer.Humanoid.HumanoidControl.pupil = new Tracking.Pupil.Tracker()

The Pupil Labs tracker

◆ dlib

DlibTracker Passer.Humanoid.HumanoidControl.dlib = new DlibTracker()

The Dlib tracker

◆ showRealObjects

bool Passer.Pawn.PawnControl.showRealObjects = true
inherited

If true, real world objects like controllers and cameras are shown in the scene

◆ physics

bool Passer.Pawn.PawnControl.physics = true
inherited

Enables controller physics and collisions during walking.

◆ useGravity

bool Passer.Pawn.PawnControl.useGravity = true
inherited

If there is not static object below the feet of the avatar the avatar will fall down until it reaches solid ground

◆ stepOffset

float Passer.Pawn.PawnControl.stepOffset = 0.3F
inherited

The maximum height of objects of the ground which do not stop the humanoid

◆ bodyPull

bool Passer.Pawn.PawnControl.bodyPull = false
inherited

Will move the pawn position when grabbing handles on static objects

◆ proximitySpeed

bool Passer.Pawn.PawnControl.proximitySpeed = false
inherited

Reduces the walking speed of the humanoid when in the neighbourhood of objects to reduce motion sickness.

◆ proximitySpeedRate

float Passer.Pawn.PawnControl.proximitySpeedRate = 0.8f
inherited

The amount of influence of the proximity speed. 1=No influence, 0 = Maximum

◆ startPosition

StartPosition Passer.Pawn.PawnControl.startPosition = StartPosition.AvatarPosition
inherited

The start position of the humanoid

◆ avatarMatching

MatchingType Passer.Pawn.PawnControl.avatarMatching = MatchingType.SetHeightToCharacter
protectedinherited

Scale Tracking to Avatar scales the tracking input to match the size of the avatar

◆ calibrateAtStart

bool Passer.Pawn.PawnControl.calibrateAtStart = false
inherited

Perform a calibration when the scene starts

◆ dontDestroyOnLoad

bool Passer.Pawn.PawnControl.dontDestroyOnLoad = false
inherited

Sets the Don't Destoy On Load such that the pawn survives scene changes

◆ forwardSpeed

float Passer.Pawn.PawnControl.forwardSpeed = 1
inherited

maximum forward speed in units(meters)/second

◆ backwardSpeed

float Passer.Pawn.PawnControl.backwardSpeed = 0.6F
inherited

maximum backward speed in units(meters)/second

◆ sidewardSpeed

float Passer.Pawn.PawnControl.sidewardSpeed = 1
inherited

maximum sideways speed in units(meters)/second

◆ maxAcceleration

float Passer.Pawn.PawnControl.maxAcceleration = 1
inherited

maximum acceleration in units(meters)/second/second value 0 = no maximum acceleration

◆ rotationSpeed

float Passer.Pawn.PawnControl.rotationSpeed = 60
inherited

maximum rotational speed in degrees/second

◆ velocity

Vector3 Passer.Pawn.PawnControl.velocity
inherited

The current velocity of the Pawn

◆ ground

Transform Passer.Pawn.PawnControl.ground
inherited

The ground Transform on which the pawn is standing

When the pawn is not standing on the ground, the value is null

◆ groundVelocity

Vector3 Passer.Pawn.PawnControl.groundVelocity
inherited

The velocity of the ground on which the pawn is standing

◆ groundAngularVelocity

float Passer.Pawn.PawnControl.groundAngularVelocity
inherited

The angular velocity of the ground on which the pawn is standing

The velocity is in degrees per second along the Y axis of the pawn

◆ networking

IPawnNetworking Passer.Pawn.PawnControl.networking
inherited

The networking interface

◆ isRemote

bool Passer.Pawn.PawnControl.isRemote = false
inherited

Is true when this is a remote pawn

Remote pawns are not controlled locally, but are controlled from another computer. These are copies of the pawn on that other computer and are updated via messages exchanges on a network.

◆ nwId

ulong Passer.Pawn.PawnControl.nwId
inherited

The Id of this pawn across the network

◆ id

int Passer.Pawn.PawnControl.id = -1
inherited

The local Id of this humanoid

Property Documentation

◆ trackingNeckHeight

float Passer.Humanoid.HumanoidControl.trackingNeckHeight
get

The neck height of the target rig

When head tracking is used, this can be used to estimate the height of the player.

◆ showSkeletons

bool Passer.Humanoid.HumanoidControl.showSkeletons
getset

If enabled, tracking skeletons will be rendered

◆ trackers

new HumanoidTracker [] Passer.Humanoid.HumanoidControl.trackers
get

All available trackers for this humanoid

◆ realWorld

Transform Passer.Pawn.PawnControl.realWorld
getinherited

The transform containing all real-world objects


The documentation for this class was generated from the following file: