Skip to main content
Version : 2.1.1

Haply::Inverse::Unity::Inverse3

Représente le contrôleur de périphérique Inverse3, qui gère les données du périphérique et les mises à jour d'état. Plus d'informations...

Hérite de Haply.Inverse.Unity.DeviceBehaviour, MonoBehaviour

Événements publics

Nom
Délégué à l'appareilDeviceStateChanged()
Événement déclenché à chaque image haptique.
Action< Inverse3 >OrientationChangedAsync()
Déclenché chaque fois que l'orientation du corps de l'appareil Inverse3 change.

Fonctions publiques

Nom
délégué videDeviceDelegate(Inverse3 inverse 3)
Représente une méthode qui gérera l'événement Inverse3.DeviceStateChanged d'un appareil Inverse3.
videRequestPowerSupplyStatus()
Demande une mise à jour de l'état actuel de l'alimentation électrique(Powered) et déclenche l'événement PowerSupplyStatusChanged.
videRequestOrientation()
Demande une mise à jour de l'orientation du corps de l'Inverse3 et déclenche l'événement OrientationChangedAsync à la fin.
videCursorSetLocalForce(in Vector3 force)
Définit la force appliquée au curseur en newtons (N) le long des axes x, y et z dans l'espace local de l'appareil.
videCursorSetLocalForce(float x, float y, float z)
videCursorSetForce(in Vector3 force)
Définit la force appliquée au curseur en newtons (N) dans l'espace mondial.
videCursorSetForce(float x, float y, float z)
videCursorSetLocalPosition(in Vector3 position)
Définit la position du curseur en mètres (m) le long des axes x, y et z dans l'espace local de l'appareil.
videCursorSetLocalPosition(float x, float y, float z)
videCursorSetPosition(in Vector3 position)
Définit la position du curseur en mètres (m) dans l'espace mondial.
videCursorSetPosition(float x, float y, float z)
videJointsSetTorques(Joint3 torques)
Définit le couple souhaité en newton millimètres (Nmm) pour chaque articulation du dispositif Inverse3.
videJointsSetTorques(float t0, float t1, float t2)
videJointsSetTorque(Vector3 angles)
videJointsSetTorque(float x, float y, float z)
videJointsSetAngles(Joint3 angles)
Définit les angles d'articulation souhaités en degrés (°) pour chaque articulation du dispositif Inverse3.
videJointsSetAngles(float alpha0, float alpha1, float alpha2)
videJointsSetAngles(Vector3 angles)
boolLibération()
Tente de réinitialiser tous les contrôles de force et de position du curseur.
boolTryResetForce()
Vecteur3TransformPoint(Vector3 position)
Transforme une position de l'espace local de l'appareil ou du curseur vers l'espace mondial en utilisant la matrice LocalToWorldMatrix mise en cache.
Vecteur3TransformVector(Vector3 vector)
Transforme un vecteur de l'espace local de l'appareil ou du curseur vers l'espace mondial en utilisant la matrice LocalToWorldMatrix mise en cache.
Vecteur3InverseTransformPoint(Vector3 position)
Transforme une position de l'espace mondial vers l'espace local de l'appareil ou du curseur en utilisant la matrice WorldToLocalMatrix mise en cache.
Vecteur3InverseTransformVector(Vector3 vector)
Transforme un vecteur de l'espace mondial vers l'espace local de l'appareil ou du curseur en utilisant la matrice WorldToLocalMatrix mise en cache.
override stringToString()
Renvoie une représentation sous forme de chaîne de caractères de l'objet, fournissant une description lisible par l'homme qui comprend le nom de l'objet, le type de classe, l'identifiant de l'appareil et la main sélectionnée.

Fonctions protégées

Nom
virtual override voidSetup()
Cette méthode est automatiquement appelée une fois que le drapeau _performSetup est activé pour gérer les calculs de consommation trop lourds pour être appelés à chaque image. Cette méthode peut être surchargée en prenant soin de conserver l'appel de base. Utilisez SetSetupToPerform pour déclencher l'appel à Setup.
virtual override voidMise à jour fixe()

Propriétés publiques

Nom
override DeviceTypeDeviceType
Obtient le type d'appareil, en renvoyant toujours DeviceType.Inverse3 pour ce contrôleur.
override CursorBehaviourCurseur
Inverse3BodyCorps
GameObject tournant automatiquement avec le corps Inverse3 Orientation.
Vecteur3CursorLocalPosition
Obtient la position du curseur Inverse3 en mètres (m) dans l'espace local de l'appareil.
Vecteur3Position locale
Vecteur3CursorPosition
Obtient la position du curseur Inverse3 dans l'espace mondial à partir de CursorLocalPosition et de LocalToWorldMatrix.
Vecteur3Position
Vecteur3CursorLocalVelocity
Obtient la vitesse du curseur Inverse3 en mètres par seconde (m/s) dans l'espace local de l'appareil.
Vecteur3Vitesse locale
Vecteur3CursorVelocity
Obtient la vitesse Inverse3 du curseur dans l'espace mondial à partir de CursorLocalVelocity et de LocalToWorldMatrix.
Vecteur3Vélocité
Joint3JointsAngles
Obtient les angles d'articulation actuels du dispositif Inverse3 en degrés.
Joint3JointsAngularVelocity
Obtient la vitesse angulaire actuelle des articulations du dispositif Inverse3 en degrés par seconde.
Type de mainMain sélectionnée
Obtient ou définit le type de main souhaité pour le dispositif Inverse3.
Type de mainMain
Obtient le type de main de l'appareil au moment de l'exécution.
boolAlimenté
Indique si l'appareil est actuellement sous tension.
QuaternionOrientation
Obtient l'orientation actuelle du dispositif Inverse3 en fonction des dernières données d'orientation reçues.
Vecteur3WorkspaceCenterLeft
Coordonnées locales du centre de l'espace de travail pour un appareil HandednessType.Left-handed.
Vecteur3WorkspaceCenterRight
Coordonnées locales du centre de l'espace de travail pour un appareil HandednessType.Right-handed.
Vecteur3Centre de l'espace de travail
Coordonnées locales du centre de l'espace de travail en fonction de la valeur Handedness.
Mode de contrôleMode de contrôle
Obtient le mode de contrôle actuel de l'appareil.
Vecteur3ForceOutput
Dernière force envoyée à l'appareil par les méthodes CursorSetForce ou CursorSetLocalForce.
Vecteur3PositionOutput
Dernière position envoyée à l'appareil par les méthodes CursorSetPosition ou CursorSetLocalPosition.
Joint3JointsTorqueOutput
Dernier couple envoyé à l'appareil par la méthode JointsSetTorque.
Joint3JointsAnglesOutput
Derniers angles envoyés à l'appareil par la méthode JointsSetAngles.
Matrice4x4Matrice LocalToWorld
Matrice qui transforme l'espace du périphérique ou du curseur en espace mondial.
Matrice4x4Matrice WorldToLocal
Matrice qui transforme l'espace mondial en espace de l'appareil ou du curseur.

Propriétés protégées

Nom
override BaseCoordinateConverterConvertisseur de coordonnées
TransformerSpaceTransformationReference
Transformation de référence utilisée pour la configuration des matrices LocalToWorldMatrix et WorldToLocalMatrix.

Attributs publics

Nom
UnityEvent< Inverse3, bool >PowerSupplyStatusChanged
Déclenché chaque fois qu'il y a un changement dans l'état de l'alimentation électrique de l'appareil Inverse3.
UnityEvent< Inverse3, ControlMode >ControlModeChanged
Événement déclenché lorsque le mode de contrôle de l'appareil change.

Autres membres hérités

Événements publics hérités de Haply.Inverse.Unity.DeviceBehaviour

Nom
Action< DeviceBehaviour, Ret >Événement d'erreur()
ConnectionStateDelegateConnectionStateChanged()
Événement déclenché lorsque l'état de connexion de l'appareil change.
Action< DeviceBehaviour, DeviceConnectionState, DeviceConnectionState >ConnectionStateChangedAsync()
Événement déclenché peu après le changement d'état de la connexion de l'appareil.

Fonctions publiques héritées de Haply.Inverse.Unity.DeviceBehaviour

Nom
délégué videConnectionStateDelegate(DeviceBehaviour device, DeviceConnectionState state, DeviceConnectionState prevState)
Délégué pour la gestion des changements d'état de connexion de l'appareil.
videSetSetupToPerform()
Indique que la configuration doit être effectuée dans la prochaine image.

Fonctions protégées héritées de Haply.Inverse.Unity.DeviceBehaviour

Nom
vide virtuelRéveil()
videOnEnable()
videOnDisable()
videOnDestroy()

Propriétés publiques héritées de Haply.Inverse.Unity.DeviceBehaviour

Nom
intSelectedDeviceId
uintDeviceId
Obtient l'identifiant de l'appareil.
DeviceConnectionStateÉtat de la connexion
Obtient ou définit l'état de connexion actuel de l'appareil.
boolEstConnecté
Indique si l'appareil est connecté.
boolIsOpened
Indique si l'appareil est ouvert.
boolPrêt

Propriétés protégées héritées de Haply.Inverse.Unity.DeviceBehaviour

Nom
boolIsCursorSet
Indique si le curseur a été défini.

Attributs publics hérités de Haply.Inverse.Unity.DeviceBehaviour

Nom
const intANY_ID
UnityEvent< DeviceBehaviour >DeviceOpened
Événement déclenché lorsque l'état de connexion passe à l'état DeviceConnectionState.Opened.
UnityEvent< DeviceBehaviour >DeviceClosed
Événement déclenché lorsque l'état de connexion passe à l'état DeviceConnectionState.Connected.

Attributs protégés hérités de Haply.Inverse.Unity.DeviceBehaviour

Nom
chaîne de caractèresNom de l'objet

Description détaillée

class Haply::Inverse::Unity::Inverse3;

Représente le contrôleur de l'appareil Inverse3, qui gère les données de l'appareil et les mises à jour de son état.

Ce composant doit être attaché à un GameObject qui représente le dispositif physique Inverse3 dans une scène Unity.

Documentation sur les événements publics

événement DeviceStateChanged

DeviceDelegate DeviceStateChanged()

Événement déclenché sur chaque image haptique.

Voir: ClientConfiguration.HapticPollFrequency

Il fournit des mises à jour en temps réel de la position et de la vitesse du curseur.

Cet événement est utile pour les applications qui nécessitent un suivi continu de l'état du curseur ou pour appliquer des commandes de contrôle en temps réel. Au cours de cet événement, vous pouvez utiliser des propriétés telles que CursorPosition, CursorVelocity, CursorLocalPosition ou CursorLocalVelocity.

Et des méthodes de contrôle telles que :

La fréquence de déclenchement de cet événement est déterminée par la fréquence de la boucle haptique, qui peut être configurée via ClientConfiguration.HapticPollFrequency.

event OrientationChangedAsync

Action< Inverse3 > OrientationChangedAsync()

Déclenché chaque fois que l'orientation du corps de l'appareil Inverse3 change.

Documentation sur les fonctions publiques

fonction DeviceDelegate

delegate void DeviceDelegate(
Inverse3 inverse3
)

Représente une méthode qui gère l'événement Inverse3.DeviceStateChanged d'un appareil Inverse3.

Paramètres:

  • inverse3 L'instance de l'appareil Inverse3 à l'origine de l'événement.

fonction RequestPowerSupplyStatus

void RequestPowerSupplyStatus()

Demande une mise à jour de l'état actuel de l'alimentation électrique(Powered) et déclenche l'événement PowerSupplyStatusChanged.

Remarque : les appels fréquents à cette méthode (par exemple, dans une boucle de mise à jour) peuvent entraîner une dégradation des performances et des saccades haptiques. Il est recommandé d'utiliser cette méthode de manière judicieuse, en fonction d'actions ou d'événements spécifiques de l'utilisateur, ou d'utiliser le mode DeviceMapperDeviceMapper.DeviceInfoPollingMode.Continuous.

fonction RequestOrientation

void RequestOrientation()

Demande une mise à jour de l'orientation du corps de Inverse3 et déclenche l'événement OrientationChangedAsync à la fin.

Utilisez cette méthode pour actualiser manuellement les données d'orientation de l'appareil. Si un corps est défini, sa transformation sera automatiquement mise à jour avec la nouvelle orientation. Remarque : des appels fréquents à cette méthode (par exemple, dans une boucle de mise à jour) peuvent entraîner une dégradation des performances et des saccades haptiques. Il est recommandé d'utiliser cette méthode de manière judicieuse, en fonction d'actions ou d'événements spécifiques de l'utilisateur, ou d'utiliser le mode DeviceMapperDeviceMapper.DeviceInfoPollingMode.Continuous.

fonction CursorSetLocalForce

void CursorSetLocalForce(
in Vector3 force
)

Définit la force appliquée au curseur en newtons (N) le long des axes x, y et z dans l'espace local de l'appareil.

Paramètres:

  • force Vecteur de la force souhaitée en newtons (N) dans l'espace local de l'appareil.

Exceptions:

  • InvalidOperationException Lancée lorsque la connexion du client n'est pas établie.
  • Exception déclenchée si une erreur inattendue est reçue du service.

Cette méthode envoie un vecteur de force non traité directement à l'appareil dans son espace local et ne doit être utilisée qu'en conjonction avec CursorLocalPosition et CursorLocalVelocity. Si le calcul de la force est basé sur les coordonnées de l'espace mondial(CursorPosition et CursorVelocity) et/ou implique un contrôleur transformé (position, rotation ou échelle), CursorSetForce doit être utilisé à la place.

Lorsque l'appareil génère des forces, sa LED devient verte. Le dispositif Inverse3 peut générer jusqu'à 10 N au total, bien que la force maximale atteignable varie selon l'espace de travail. Si la force demandée dépasse la capacité de l'appareil, celui-ci génère la force maximale possible dans la même direction ou, si la mise à l'échelle de la force est activée, s'ajuste pour fournir la force la plus élevée possible tout en conservant une direction similaire. Le fait de régler la force sur tous les axes à zéro ne génère aucune force nette sur le curseur, mais le curseur reste compensé par la gravité si cette option est activée.

fonction CursorSetLocalForce

void CursorSetLocalForce(
float x,
float y,
float z
)

fonction CursorSetForce

void CursorSetForce(
in Vector3 force
)

Définit la force appliquée au curseur en newtons (N) dans l'espace mondial.

Paramètres:

  • force Vecteur de la force souhaitée en newtons (N) dans l'espace mondial.

Voir: CursorSetLocalForce, InverseTransformVector

Cette méthode convertit le vecteur de force fourni de l'espace mondial à l'espace local de l'appareil avant de l'envoyer à l'appareil. Elle doit être utilisée lorsque le calcul de la force est basé sur les coordonnées de l'espace mondial. Pour un contrôle direct de l'espace local, utilisez plutôt CursorSetLocalForce.

fonction CursorSetForce

void CursorSetForce(
float x,
float y,
float z
)

fonction CursorSetLocalPosition

void CursorSetLocalPosition(
in Vector3 position
)

Définit la position du curseur en mètres (m) le long des axes x, y et z dans l'espace local de l'appareil.

Paramètres:

  • position Vecteur de la position souhaitée en mètres (m) dans l'espace local de l'appareil.

Exceptions:

  • InvalidOperationException Lancée lorsque la connexion du client n'est pas établie.
  • Exception déclenchée si une erreur inattendue est reçue du service.

Cette méthode définit une consigne de position qui déplace le curseur à la position spécifiée. Elle envoie une position non traitée directement à l'appareil dans son espace local. Si le calcul de la position est basé sur les coordonnées de l'espace mondial(CursorPosition, CursorVelocity) et/ou implique un contrôleur transformé (position, rotation ou échelle), CursorSetPosition doit être pris en compte.

La LED de l'appareil devient bleue lorsqu'il est en mode de contrôle de position. La définition d'une position inaccessible fait que les bras du dispositif Inverse3 descendent lentement ou restent dans leur position actuelle. Pour quitter le mode de contrôle de position, appliquez une force (qui peut être nulle), utilisez TryResetForce ou déconnectez l'appareil.

fonction CursorSetLocalPosition

void CursorSetLocalPosition(
float x,
float y,
float z
)

fonction CursorSetPosition

void CursorSetPosition(
in Vector3 position
)

Définit la position du curseur en mètres (m) dans l'espace mondial.

Paramètres:

  • position Vecteur de la position souhaitée en mètres (m) dans l'espace mondial.

Voir: CursorSetLocalPosition, InverseTransformPoint

Cette méthode convertit la position fournie de l'espace mondial à l'espace local de l'appareil avant de définir la valeur de consigne de la position. Elle doit être utilisée lorsque le calcul de la position est basé sur les coordonnées de l'espace mondial. Pour un contrôle direct de l'espace local, utilisez plutôt CursorSetLocalPosition.

fonction CursorSetPosition

void CursorSetPosition(
float x,
float y,
float z
)

fonction JointsSetTorques

void JointsSetTorques(
Joint3 torques
)

Définit le couple souhaité en newton millimètres (Nmm) pour chaque articulation du dispositif Inverse3.

Paramètres:

  • Couples de serrage Couples de serrage souhaités sur chaque articulation du dispositif.

Exceptions:

  • InvalidOperationException Lancée lorsque throwException est vrai et que la connexion du client n'est pas établie.
  • Exception déclenchée si une erreur inattendue est reçue du service.

Lorsque le couple est généré, la LED de l'appareil devient verte.

Le dispositif Inverse3 peut générer jusqu'à 1000 Nmm de couple à chaque articulation. Si le couple souhaité dépasse cette limite, l'appareil génère le couple maximum à la place.

fonction JointsSetTorques

void JointsSetTorques(
float t0,
float t1,
float t2
)

fonction JointsSetTorque

void JointsSetTorque(
Vector3 angles
)

fonction JointsSetTorque

void JointsSetTorque(
float x,
float y,
float z
)

fonction JointsSetAngles

void JointsSetAngles(
Joint3 angles
)

Définit les angles d'articulation souhaités en degrés (°) pour chaque articulation du dispositif Inverse3.

Paramètres:

  • angles Angles souhaités sur chaque articulation du dispositif.

Exceptions:

  • InvalidOperationException Lancée lorsque throwException est vrai et que la connexion du client n'est pas établie.
  • Exception déclenchée si une erreur inattendue est reçue du service.

Définit les angles d'articulation souhaités pour l'appareil. La définition d'un angle impossible à atteindre amènera l'appareil à la configuration physiquement la plus proche. Par exemple, le réglage de (-90, 180, 0) déplace l'appareil dans une position où la tête est parallèle et les bras perpendiculaires au corps.

fonction JointsSetAngles

void JointsSetAngles(
float alpha0,
float alpha1,
float alpha2
)

fonction JointsSetAngles

void JointsSetAngles(
Vector3 angles
)

fonction Libération

bool Release()

Tente de réinitialiser tous les contrôles de force et de position du curseur.

Retourne: Vrai si la réinitialisation forcée a réussi ; faux si la connexion client n'est pas établie ou si une erreur inattendue s'est produite.

Cette méthode ne lève pas d'exception si la connexion client est déjà fermée, ce qui permet de l'utiliser lors de l'arrêt du programme ou dans les événements OnDisable. Elle renvoie un message faux si la connexion client n'est pas établie ou si une erreur inattendue est reçue du service lors de la réinitialisation du contrôle de la force et de la position.

fonction TryResetForce

bool TryResetForce()

fonction TransformPoint

Vector3 TransformPoint(
Vector3 position
)

Transforme une position de l'espace local de l'appareil ou du curseur vers l'espace mondial en utilisant la matrice LocalToWorldMatrix mise en cache.

Paramètres:

  • position Position locale.

Voir: LocalToWorldMatrix

Retour: Position mondiale.

Vous pouvez effectuer la conversion inverse, de l'espace mondial à l'espace local, en utilisant InverseTransformPoint.

fonction TransformVector

Vector3 TransformVector(
Vector3 vector
)

Transforme un vecteur de l'espace local de l'appareil ou du curseur vers l'espace mondial en utilisant la matrice LocalToWorldMatrix mise en cache.

Paramètres:

  • vecteur Vecteur local.

Voir: LocalToWorldMatrix

Retour: Vecteur mondial.

Vous pouvez effectuer la conversion inverse, de l'espace mondial à l'espace local, en utilisant InverseTransformVector.

fonction InverseTransformPoint

Vector3 InverseTransformPoint(
Vector3 position
)

Transforme une position de l'espace mondial en espace local de l'appareil ou du curseur en utilisant la matrice WorldToLocalMatrix mise en cache.

Paramètres:

  • position Position mondiale.

Voir: Matrice WorldToLocal

Retour: Position locale.

Le contraire de TransformPoint.

fonction InverseTransformVector

Vector3 InverseTransformVector(
Vector3 vector
)

Transforme un vecteur de l'espace mondial vers l'espace local de l'appareil ou du curseur en utilisant la matrice WorldToLocalMatrix mise en cache.

Paramètres:

  • vecteur Monde.

Voir: Matrice WorldToLocal

Retour: vecteur local.

Le contraire de TransformVector.

fonction ToString

override string ToString()

Renvoie une représentation sous forme de chaîne de caractères de l'objet, fournissant une description lisible par l'homme qui comprend le nom de l'objet, le type de classe, l'identifiant de l'appareil et la main sélectionnée.

Retourner: Une chaîne de caractères représentant l'objet actuel, y compris son nom, son type de classe, l'identifiant de l'appareil et la main sélectionnée.

The returned string follows the format: "name <Class>(#id.handedness)", where:

  • "nom" est la valeur du champ "nom" de l'objet. _objectName champ.
  • "Classe" est le nom du type de classe de l'objet.
  • "id" est l'ID de l'appareil, formaté comme une chaîne hexadécimale de 4 caractères, ou "*" si l'ID de l'appareil est ANY_ID. Si DeviceId est ANY_ID, la valeur de SelectedDeviceId est utilisé.
  • "handedness" est la main sélectionnée, représentée par ".left", ".right", ou omise si SelectedHandedness est Nil.

Cette méthode facilite le débogage et la journalisation en fournissant une description concise et informative de l'objet.

Documentation sur les fonctions protégées

fonction Setup

virtual override void Setup()

Cette méthode est automatiquement appelée une fois que l'option _performSetup est activée afin de gérer la consommation de calculs trop lourds pour être appelés à chaque image. Cette méthode peut être surchargée en prenant soin de conserver l'appel de base. Utilisez SetSetupToPerform pour déclencher l'appel à Setup.

Réimplémente: Haply::Inverse::Unity::DeviceBehaviour::Setup

fonction FixedUpdate

virtual override void FixedUpdate()

Réimplémente: Haply::Inverse::Unity::DeviceBehaviour::FixedUpdate

Documentation sur les biens publics

propriété DeviceType

override DeviceType DeviceType;

Obtient le type d'appareil, en renvoyant toujours DeviceType.Inverse3 pour ce contrôleur.

propriété Cursor

override CursorBehaviour Cursor;

Cette propriété remplace la propriété de base DeviceBehaviour.Cursor et peut être transformée en toute sécurité en Inverse3Cursor. La définition de cette propriété met également à jour l'indicateur DeviceBehaviour._performSetup.

propriété Body

Inverse3Body Body;

GameObject tournant automatiquement avec le corps Inverse3 Orientation.

propriété CursorLocalPosition

Vector3 CursorLocalPosition;

Obtient la position du curseur Inverse3 en mètres (m) dans l'espace local de l'appareil.

Le DeviceBehaviour.ConnectionState de l'appareil doit d'abord être DeviceConnectionState.Opened pour obtenir une valeur cohérente.

propriété LocalPosition

Vector3 LocalPosition;

propriété CursorPosition

Vector3 CursorPosition;

Obtient la position du curseur Inverse3 dans l'espace mondial à partir de CursorLocalPosition et de LocalToWorldMatrix.

Voir: Transform.position, TransformPoint

propriété Position

Vector3 Position;

propriété CursorLocalVelocity

Vector3 CursorLocalVelocity;

Obtient la vitesse du curseur Inverse3 en mètres par seconde (m/s) dans l'espace local de l'appareil.

La vitesse fournie est calculée à l'aide d'algorithmes d'estimation de la vitesse et ne nécessite pas de filtrage ou de traitement supplémentaire.

Le DeviceBehaviour.ConnectionState de l'appareil doit d'abord être DeviceConnectionState.Opened pour obtenir une valeur cohérente.

propriété LocalVelocity

Vector3 LocalVelocity;

propriété CursorVelocity

Vector3 CursorVelocity;

Obtient la vitesse Inverse3 du curseur dans l'espace mondial à partir de CursorLocalVelocity et de LocalToWorldMatrix.

Vecteur de transformation

propriété Velocity

Vector3 Velocity;

propriété JointsAngles

Joint3 JointsAngles;

Obtient les angles d'articulation actuels du dispositif Inverse3 en degrés.

Chaque composante du Vector3 représente l'angle d'une des articulations de l'appareil :

  • x : Angle de l'articulation 1, qui contrôle la tête de l'appareil.
  • y : Angle de l'articulation 2, qui contrôle l'articulation intérieure des bras.
  • z : Angle de l'articulation 3, qui contrôle l'articulation extérieure des bras.

Ces angles sont essentiels pour comprendre et contrôler l'orientation spatiale des pièces mobiles de l'appareil.

propriété JointsAngularVelocity

Joint3 JointsAngularVelocity;

Obtient les vitesses angulaires actuelles des articulations du dispositif Inverse3 en degrés par seconde.

Chaque composante du Vector3 représente la vitesse angulaire de l'une des articulations du dispositif :

  • x : Vitesse angulaire de l'articulation 1, qui contrôle la tête du dispositif.
  • y : Vitesse angulaire de l'articulation 2, qui contrôle l'articulation intérieure des bras.
  • z : Vitesse angulaire de l'articulation 3, qui contrôle l'articulation extérieure des bras.

Les vitesses angulaires permettent de contrôler la vitesse à laquelle les articulations se déplacent, ce qui est crucial pour les applications de contrôle dynamique et de rétroaction.

propriété SelectedHandedness

HandednessType SelectedHandedness;

Permet d'obtenir ou de définir le type de main souhaité pour le dispositif Inverse3.

S'il vaut HandednessType.Nil, le premier appareil trouvé sera sélectionné à l'exécution par le DeviceMapper.

Utilisez Handedness pour connaître la main réelle de l'appareil au moment de l'exécution.

propriété Handedness

HandednessType Handedness;

Obtient le type de main de l'appareil au moment de l'exécution.

propriété Powered

bool Powered;

Indique si l'appareil est actuellement alimenté.

Voir: DeviceMapper.devicesInfoPollingMode

Cette propriété n'est pas actualisée en temps réel. Elle peut être mise à jour manuellement avec RequestPowerSupplyStatus, ou automatiquement à l'aide de DeviceMapper.

Orientation de la propriété

Quaternion Orientation;

Obtient l'orientation actuelle du dispositif Inverse3 sur la base des dernières données d'orientation reçues.

Voir: DeviceMapper.devicesInfoPollingMode

Cette propriété n'est pas actualisée en temps réel. Elle peut être mise à jour manuellement avec RequestOrientation, ou automatiquement par le DeviceMapper.

propriété WorkspaceCenterLeft

static Vector3 WorkspaceCenterLeft = new(-0.05f, 0.15f, -0.12f);

Coordonnées locales du centre de travail pour un appareil HandednessType.Left-handed.

Voir: CursorSetLocalPosition, SelectedHandedness

En plaçant le curseur à cette position locale, l'appareil sera déplacé de manière à ce que la tête soit parallèle et les bras perpendiculaires au corps.

propriété WorkspaceCenterRight

static Vector3 WorkspaceCenterRight = new(0.05f, 0.15f, -0.12f);

Coordonnées locales du centre de l'espace de travail pour un appareil HandednessType.Right-handed.

Voir: CursorSetLocalPosition, SelectedHandedness

En plaçant le curseur à cette position locale, l'appareil sera déplacé de manière à ce que la tête soit parallèle et les bras perpendiculaires au corps.

propriété WorkspaceCenter

Vector3 WorkspaceCenter;

Coordonnées locales du centre de l'espace de travail en fonction de la valeur Handedness.

Voir: CursorSetLocalPosition, SelectedHandedness

Renvoie WorkspaceCenterRight si la main est HandednessType.Nil.

En plaçant le curseur à cette position locale, l'appareil sera déplacé de manière à ce que la tête soit parallèle et les bras perpendiculaires au corps.

propriété ControlMode

ControlMode ControlMode;

Obtient le mode de contrôle actuel de l'appareil.

Les modes de contrôle déterminent la manière dont l'appareil répond aux commandes d'entrée et gère ses sorties, telles que la position du curseur ou les couples d'articulation.

propriété ForceOutput

Vector3 ForceOutput;

Dernière force envoyée à l'appareil par les méthodes CursorSetForce ou CursorSetLocalForce.

propriété PositionOutput

Vector3 PositionOutput;

Dernière position envoyée à l'appareil par les méthodes CursorSetPosition ou CursorSetLocalPosition.

propriété JointsTorqueOutput

Joint3 JointsTorqueOutput;

Dernier couple envoyé à l'appareil par la méthode JointsSetTorque.

propriété JointsAnglesOutput

Joint3 JointsAnglesOutput;

Derniers angles envoyés à l'appareil par la méthode JointsSetAngles.

propriété LocalToWorldMatrix

Matrix4x4 LocalToWorldMatrix;

Matrice qui transforme l'espace du dispositif ou du curseur en espace mondial.

Voir: SpaceTransformationReference, TransformPoint, TransformVector

La matrice dépend de la SpaceTransformationReference.

Cette matrice peut être utilisée pour convertir les positions et les vitesses de l'espace local de l'appareil ou du curseur à l'espace mondial. Elle permet d'effectuer des calculs haptiques précis dans des environnements où les données du composant Transform ne sont pas directement accessibles.

propriété WorldToLocalMatrix

Matrix4x4 WorldToLocalMatrix;

Matrice qui transforme l'espace mondial en espace de l'appareil ou du curseur.

Voir: SpaceTransformationReference, InverseTransformPoint, InverseTransformVector

La matrice dépend de la SpaceTransformationReference.

Cette matrice peut être utilisée pour convertir les forces calculées de l'espace mondial à l'espace local du dispositif ou du curseur. Elle permet d'effectuer des calculs haptiques précis dans des environnements où les données du composant Transform ne sont pas directement accessibles.

Documentation sur les biens protégés

propriété CoordinateConverter

override BaseCoordinateConverter CoordinateConverter;

propriété SpaceTransformationReference

Transform SpaceTransformationReference;

Transformée de référence utilisée pour la configuration de LocalToWorldMatrix et WorldToLocalMatrix.

Si le curseur est défini, son parent est utilisé. Dans le cas contraire, c'est le périphérique actuel qui est transformé.

Documentation sur les attributs publics

variable PowerSupplyStatusChanged

UnityEvent< Inverse3, bool > PowerSupplyStatusChanged;

Déclenché chaque fois qu'il y a un changement dans l'état de l'alimentation électrique du dispositif Inverse3.

Voir: Alimenté

variable ControlModeChanged

UnityEvent< Inverse3, ControlMode > ControlModeChanged;

Événement déclenché lorsque le mode de contrôle de l'appareil change.

Cela permet de mettre en place des modèles de programmation réactifs dans lesquels les changements de mode de contrôle peuvent déclencher des comportements ou des configurations spécifiques.