diff --git a/Runtime/HumanoidControl/Scripts/Extensions/Custom/CustomTracker.cs b/Runtime/HumanoidControl/Scripts/Extensions/Custom/CustomTracker.cs index 00088d0..764bdd9 100644 --- a/Runtime/HumanoidControl/Scripts/Extensions/Custom/CustomTracker.cs +++ b/Runtime/HumanoidControl/Scripts/Extensions/Custom/CustomTracker.cs @@ -14,19 +14,26 @@ namespace Passer.Humanoid { /// BodySkeleton /// ------------ /// This option is most suited for full body tracking hardware. - /// An example implementation is the PerceptionNeuron extension found in the Humanoid Control Pro edition. - /// For this, you need to implement a class derived from the BodySkeleton class. + /// An example implementation is the PerceptionNeuron extension found in the %Humanoid Control Pro edition. + /// + /// For this, you need to implement a class derived from the Passer::Tracking::BodySkeleton class. /// For the Perception Neuron extension, this new class is Passer::Tracking::PerceptionNeuron. - /// This class should be used for the to the CustomTracker::bodySkeleton parameter. - /// In the new class, you should override the BodySkeleton::start and BodySkeleton::update functions + /// This class should be used for the to the CustomTracker::bodySkeleton parameter: + /// \image html CustomTrackerBodySkeleton.png + /// \image rtf CustomTrackerBodySkeleton.png + /// In the new class, you should override the Passer::Tracking::BodySkeleton::Start + /// and Passer::Tracking::BodySkeleton::Update functions /// and implement the functionality to correctly start the tracking and retrieving the new body pose. /// This will ensure that the tracking is started and updated at the right moment. /// In the update function, you can asssign the tracking result to the correct tracking bones - /// of Humanoid Control. - /// You can retrieve the Humanoid Control TrackedBone using the BodySkeleton::GetBone function. + /// of %Humanoid Control. + /// You can retrieve the %Humanoid Control TrackedBone using the BodySkeleton::GetBone function. /// Then you can update the position and/or the rotation of the bone. + /// /// *Important*: a confidence value between 0 and 1 should also be set for the bone's position and/or rotation. /// The default confidence is 0 and in that case, the tracking information will not be used. + /// Next to that, the Passer::Tracking::BodySkeleton::status should reflect the current tracking status of the device. + /// /// Example of updating one bone: /// \code /// protected void UpdateBone(Bone boneId) { @@ -52,19 +59,23 @@ namespace Passer.Humanoid { /// SensorComponents /// ================ /// This option is most suited for tracking devices which can be mounted on the body. - /// An example implementation is the ViveTracker imnplementation found in the Humanoid Control Pro edition. + /// An example implementation is the ViveTracker imnplementation found in the %Humanoid Control Pro edition. + /// /// For this, you need to implement a class derived from the SensorComponent class. /// For the ViveTracker, this is the Passer::Tracking::ViveTrackerComponent. - /// This class should be used on the Head, Hand, Hips and/or Foot Targets in the CustomSensor::SensorComponent - /// parameter. By selecting the bone in the dropdown, you can set to which bone the device is attached. + /// This class should be used on the Head, Hand, Hips and/or Foot Targets in the Sensor::sensorComponent + /// parameter. Where applicable, selecting the bone in the dropdown determine to which bone the device is attached. + /// \image html CustomTrackerBodySkeleton.png + /// \image rtf CustomTrackerBodySkeleton.png /// In the new class, you should override the SensorComponent::StartComponent and SensorComponent::UpdateComponent functions /// and implement the functionality to correctly start the tracking and retrieve the actual pose of the device. /// This will ensure that the tracking is started and updated at the right moment. /// /// In the overridden SensorUpdate function, you should update the Transform of the SensorComponent. + /// /// *Important*: a confidence value between 0 and 1 should also be set for the device. /// The default confidence is 0 and in that case, the tracking information will not be used. - /// Next to that, the status should reflect the current tracking status of the device. + /// Next to that, the SensorComponent::status should reflect the current tracking status of the device. /// Example of updating the device rotation and position: /// \code /// public override void UpdateComponent() { @@ -83,7 +94,7 @@ namespace Passer.Humanoid { /// } /// } /// \endcode -[System.Serializable] + [System.Serializable] public class CustomTracker : HumanoidTracker { /// \copydoc HumanoidTracker::name