Humanoid Control for Unity v4
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Properties | List of all members
Passer.Humanoid.NeuronTracker Class Reference

Description

Full body tracking is supported with Perception Neuron up to 32 bones.

Prerequisites

Perception Neuron is supported in Humanoid Control Pro.

Hardware

Perception Neuron with up to 32 neurons is supported

Operating System

Microsoft Windows is required

Setup

Axis Neuron

Axis Neuron software is required to support Perception Neuron. In the Settings-Broadcasting, make sure that BVH is enabled in Binary format, without Use old header. ServerPort is default set to 7001, but can be changed. The protocol needs to be set to TCP.

Inspector

To enable Perception Neuron tracking for an avatar, Perception Neuron needs to be enabled in the HumanoidControl component.

By default, the PerceptionNeuron objectis not visible in the scene, but it will be created automatically with the default settings when the scene starts. If the button Show is pressed, the PerceptionNeuron object will be created in the Real World object.

PerceptionNeuron (PerceptionNeuron) is a reference to the object in the scene representing the Perception Neuron tracking system. This GameObject is found as a child of the Real World GameObject. The PerceptionNeuron component can be used to set the position of the tracking system in the scene. It is also used to change connection settings like the ip address and port on which the Axis Neuron is broadcasting.

Inheritance diagram for Passer.Humanoid.NeuronTracker:
Passer.Humanoid.CustomTracker Passer.Humanoid.HumanoidTracker Passer.Tracking.Tracker

Public Types

enum  Status { Unavailable , Present , Tracking }
 The tracking status More...
 

Public Member Functions

override void CheckTracker (HumanoidControl humanoid)
 Check the presence of a PerceptionNeuron object and creates one if it does not exist More...
 
override void StartTracker (HumanoidControl humanoid)
 Starts the tracker More...
 
override void UpdateTracker ()
 Update the tracker state More...
 
void CheckTracker (HumanoidControl humanoid, TrackerGetter getTracker)
 Function to check the status of a specific tracker More...
 
void CheckTracker (HumanoidControl humanoid, TrackerGetter getTracker, Vector3 localPosition, Quaternion localRotation)
 Function to check the status of a specific tracker More...
 
delegate TrackerComponent TrackerGetter (Transform transform, Vector3 localPosition, Quaternion localRotation)
 Function delegate for retrieving the tracker More...
 
virtual Vector3 GetBonePosition (uint actorId, FacialBone boneId)
 
virtual Quaternion GetBoneRotation (uint actorId, FacialBone boneId)
 
virtual float GetBoneConfidence (uint actorId, FacialBone boneId)
 
virtual void StartTracker ()
 Optional list of SubTrackers More...
 
virtual void StopTracker ()
 Stop the tracker More...
 
virtual void ShowTracker (bool shown)
 Show or hide the Tracker renderers More...
 
virtual void Calibrate ()
 Calibrate the tracker More...
 
virtual void AdjustTracking (Vector3 positionalDelta, Quaternion rotationalDelta)
 Adjust the position of the tracker by the given delat More...
 

Public Attributes

BodySkeleton bodySkeleton
 A skeleton for the body More...
 
HumanoidControl humanoid
 The humanoid for this tracker
 
bool enabled
 Is this tracker enabled?
 
Status status
 The tracking Status of the tracker
 
TrackerComponent trackerComponent
 The tracking device
 

Protected Member Functions

void UpdateBodyFromSkeleton ()
 
virtual void UpdateTorso ()
 
virtual void UpdateLeftArm ()
 
virtual void UpdateRightArm ()
 
virtual void UpdateLeftLeg ()
 
virtual void UpdateRightLeg ()
 

Properties

override string name [get]
 The name of this tracker More...
 
virtual HeadSensor headSensor [get]
 Get the sensor for the head More...
 
virtual ArmSensor leftHandSensor [get]
 Get the sensor for the left hand More...
 
virtual ArmSensor rightHandSensor [get]
 Get the sensor for the right hand More...
 
virtual TorsoSensor hipsSensor [get]
 Get the sensor for the hips More...
 
virtual LegSensor leftFootSensor [get]
 Get the sensor for the left foot More...
 
virtual LegSensor rightFootSensor [get]
 Get the sensor for the right foot More...
 
virtual HumanoidSensor[] sensors [get]
 The sensors for this tracker
 

Member Enumeration Documentation

◆ Status

The tracking status

Enumerator
Unavailable 

The tracking device is not available.

Present 

The tracking device is available but not tracking.

Tracking 

The tracking device is actively tracking.

Member Function Documentation

◆ CheckTracker() [1/3]

override void Passer.Humanoid.NeuronTracker.CheckTracker ( HumanoidControl  humanoid)
virtual

Check the presence of a PerceptionNeuron object and creates one if it does not exist

Parameters
humanoidThe humanoid for which the tracker needs to be checked

Reimplemented from Passer.Humanoid.HumanoidTracker.

◆ StartTracker() [1/2]

override void Passer.Humanoid.NeuronTracker.StartTracker ( HumanoidControl  humanoid)
virtual

Starts the tracker

Parameters
humanoidThe humanoid for which the tracker needs to be started

It will check the presence of a tracker using CheckTracker first.

Reimplemented from Passer.Humanoid.HumanoidTracker.

◆ UpdateTracker()

override void Passer.Humanoid.NeuronTracker.UpdateTracker ( )
virtual

Update the tracker state

Reimplemented from Passer.Tracking.Tracker.

◆ CheckTracker() [2/3]

void Passer.Humanoid.HumanoidTracker.CheckTracker ( HumanoidControl  humanoid,
TrackerGetter  getTracker 
)
inherited

Function to check the status of a specific tracker

Parameters
humanoidThe humanoid for which the tracker needs to be checked
getTrackerFunction delegate to retrieve the tracker

The default position/rotation for the tracker when created will be zero

◆ CheckTracker() [3/3]

void Passer.Humanoid.HumanoidTracker.CheckTracker ( HumanoidControl  humanoid,
TrackerGetter  getTracker,
Vector3  localPosition,
Quaternion  localRotation 
)
inherited

Function to check the status of a specific tracker

Parameters
humanoidThe humanoid for which the tracker needs to be checked
getTrackerFunction delegate to retrieve the tracker
localPositionThe default local position of the tracker
localRotationThe default local rotation of the tracker

◆ TrackerGetter()

delegate TrackerComponent Passer.Humanoid.HumanoidTracker.TrackerGetter ( Transform  transform,
Vector3  localPosition,
Quaternion  localRotation 
)
inherited

Function delegate for retrieving the tracker

Parameters
transformThe root transform to start the searching of the tracker
localPositionThe default local position of the tracker
localRotationThe default local rotation of the tracker
Returns
The tracker component found or created

The default position/rotation is relative to the humanoid's real world.

◆ StartTracker() [2/2]

virtual void Passer.Tracking.Tracker.StartTracker ( )
virtualinherited

Optional list of SubTrackers

Start the tracker

◆ StopTracker()

virtual void Passer.Tracking.Tracker.StopTracker ( )
virtualinherited

Stop the tracker

Reimplemented in Passer.Humanoid.LeapTracker.

◆ ShowTracker()

virtual void Passer.Tracking.Tracker.ShowTracker ( bool  shown)
virtualinherited

Show or hide the Tracker renderers

Parameters
shownRenderers are enabled when shown == true

◆ Calibrate()

virtual void Passer.Tracking.Tracker.Calibrate ( )
virtualinherited

Calibrate the tracker

Reimplemented in Passer.Humanoid.UnityXRTracker.

◆ AdjustTracking()

virtual void Passer.Tracking.Tracker.AdjustTracking ( Vector3  positionalDelta,
Quaternion  rotationalDelta 
)
virtualinherited

Adjust the position of the tracker by the given delat

Parameters
positionalDeltaThe positional delta to apply
rotationalDeltaThe rotational delta to apply

Member Data Documentation

◆ bodySkeleton

BodySkeleton Passer.Humanoid.CustomTracker.bodySkeleton
inherited

A skeleton for the body

When this is set, the tracking will be taken from this skeleton

Property Documentation

◆ name

override string Passer.Humanoid.NeuronTracker.name
get

The name of this tracker

◆ headSensor

virtual HeadSensor Passer.Humanoid.HumanoidTracker.headSensor
getinherited

Get the sensor for the head

Will return null when this sensor is not present

◆ leftHandSensor

virtual ArmSensor Passer.Humanoid.HumanoidTracker.leftHandSensor
getinherited

Get the sensor for the left hand

Will return null when this sensor is not present

◆ rightHandSensor

virtual ArmSensor Passer.Humanoid.HumanoidTracker.rightHandSensor
getinherited

Get the sensor for the right hand

Will return null when this sensor is not present

◆ hipsSensor

virtual TorsoSensor Passer.Humanoid.HumanoidTracker.hipsSensor
getinherited

Get the sensor for the hips

Will return null when this sensor is not present

◆ leftFootSensor

virtual LegSensor Passer.Humanoid.HumanoidTracker.leftFootSensor
getinherited

Get the sensor for the left foot

Will return null when this sensor is not present

◆ rightFootSensor

virtual LegSensor Passer.Humanoid.HumanoidTracker.rightFootSensor
getinherited

Get the sensor for the right foot

Will return null when this sensor is not present


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