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'appareil | DeviceStateChanged() É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é vide | DeviceDelegate(Inverse3 inverse 3) Représente une méthode qui gérera l'événement Inverse3.DeviceStateChanged d'un appareil Inverse3. |
vide | RequestPowerSupplyStatus() Demande une mise à jour de l'état actuel de l'alimentation électrique(Powered) et déclenche l'événement PowerSupplyStatusChanged. |
vide | RequestOrientation() Demande une mise à jour de l'orientation du corps de l'Inverse3 et déclenche l'événement OrientationChangedAsync à la fin. |
vide | 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. |
vide | CursorSetLocalForce(float x, float y, float z) |
vide | CursorSetForce(in Vector3 force) Définit la force appliquée au curseur en newtons (N) dans l'espace mondial. |
vide | CursorSetForce(float x, float y, float z) |
vide | 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. |
vide | CursorSetLocalPosition(float x, float y, float z) |
vide | CursorSetPosition(in Vector3 position) Définit la position du curseur en mètres (m) dans l'espace mondial. |
vide | CursorSetPosition(float x, float y, float z) |
vide | JointsSetTorques(Joint3 torques) Définit le couple souhaité en newton millimètres (Nmm) pour chaque articulation du dispositif Inverse3. |
vide | JointsSetTorques(float t0, float t1, float t2) |
vide | JointsSetTorque(Vector3 angles) |
vide | JointsSetTorque(float x, float y, float z) |
vide | JointsSetAngles(Joint3 angles) Définit les angles d'articulation souhaités en degrés (°) pour chaque articulation du dispositif Inverse3. |
vide | JointsSetAngles(float alpha0, float alpha1, float alpha2) |
vide | JointsSetAngles(Vector3 angles) |
bool | Libération() Tente de réinitialiser tous les contrôles de force et de position du curseur. |
bool | TryResetForce() |
Vecteur3 | 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. |
Vecteur3 | 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. |
Vecteur3 | InverseTransformPoint(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. |
Vecteur3 | 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. |
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. |
Fonctions protégées
Nom | |
---|---|
virtual override void | Setup() 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 void | Mise à jour fixe() |
Propriétés publiques
Nom | |
---|---|
override DeviceType | DeviceType Obtient le type d'appareil, en renvoyant toujours DeviceType.Inverse3 pour ce contrôleur. |
override CursorBehaviour | Curseur |
Inverse3Body | Corps GameObject tournant automatiquement avec le corps Inverse3 Orientation. |
Vecteur3 | CursorLocalPosition Obtient la position du curseur Inverse3 en mètres (m) dans l'espace local de l'appareil. |
Vecteur3 | Position locale |
Vecteur3 | CursorPosition Obtient la position du curseur Inverse3 dans l'espace mondial à partir de CursorLocalPosition et de LocalToWorldMatrix. |
Vecteur3 | Position |
Vecteur3 | CursorLocalVelocity Obtient la vitesse du curseur Inverse3 en mètres par seconde (m/s) dans l'espace local de l'appareil. |
Vecteur3 | Vitesse locale |
Vecteur3 | CursorVelocity Obtient la vitesse Inverse3 du curseur dans l'espace mondial à partir de CursorLocalVelocity et de LocalToWorldMatrix. |
Vecteur3 | Vélocité |
Joint3 | JointsAngles Obtient les angles d'articulation actuels du dispositif Inverse3 en degrés. |
Joint3 | JointsAngularVelocity Obtient la vitesse angulaire actuelle des articulations du dispositif Inverse3 en degrés par seconde. |
Type de main | Main sélectionnée Obtient ou définit le type de main souhaité pour le dispositif Inverse3. |
Type de main | Main Obtient le type de main de l'appareil au moment de l'exécution. |
bool | Alimenté Indique si l'appareil est actuellement sous tension. |
Quaternion | Orientation Obtient l'orientation actuelle du dispositif Inverse3 en fonction des dernières données d'orientation reçues. |
Vecteur3 | WorkspaceCenterLeft Coordonnées locales du centre de l'espace de travail pour un appareil HandednessType.Left-handed. |
Vecteur3 | WorkspaceCenterRight Coordonnées locales du centre de l'espace de travail pour un appareil HandednessType.Right-handed. |
Vecteur3 | Centre de l'espace de travail Coordonnées locales du centre de l'espace de travail en fonction de la valeur Handedness. |
Mode de contrôle | Mode de contrôle Obtient le mode de contrôle actuel de l'appareil. |
Vecteur3 | ForceOutput Dernière force envoyée à l'appareil par les méthodes CursorSetForce ou CursorSetLocalForce. |
Vecteur3 | PositionOutput Dernière position envoyée à l'appareil par les méthodes CursorSetPosition ou CursorSetLocalPosition. |
Joint3 | JointsTorqueOutput Dernier couple envoyé à l'appareil par la méthode JointsSetTorque. |
Joint3 | JointsAnglesOutput Derniers angles envoyés à l'appareil par la méthode JointsSetAngles. |
Matrice4x4 | Matrice LocalToWorld Matrice qui transforme l'espace du périphérique ou du curseur en espace mondial. |
Matrice4x4 | Matrice WorldToLocal Matrice qui transforme l'espace mondial en espace de l'appareil ou du curseur. |
Propriétés protégées
Nom | |
---|---|
override BaseCoordinateConverter | Convertisseur de coordonnées |
Transformer | SpaceTransformationReference 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() |
ConnectionStateDelegate | ConnectionStateChanged() É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é vide | ConnectionStateDelegate(DeviceBehaviour device, DeviceConnectionState state, DeviceConnectionState prevState) Délégué pour la gestion des changements d'état de connexion de l'appareil. |
vide | SetSetupToPerform() 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 virtuel | Réveil() |
vide | OnEnable() |
vide | OnDisable() |
vide | OnDestroy() |
Propriétés publiques héritées de Haply.Inverse.Unity.DeviceBehaviour
Nom | |
---|---|
int | SelectedDeviceId |
uint | DeviceId Obtient l'identifiant de l'appareil. |
DeviceConnectionState | État de la connexion Obtient ou définit l'état de connexion actuel de l'appareil. |
bool | EstConnecté Indique si l'appareil est connecté. |
bool | IsOpened Indique si l'appareil est ouvert. |
bool | Prêt |
Propriétés protégées héritées de Haply.Inverse.Unity.DeviceBehaviour
Nom | |
---|---|
bool | IsCursorSet Indique si le curseur a été défini. |
Attributs publics hérités de Haply.Inverse.Unity.DeviceBehaviour
Nom | |
---|---|
const int | ANY_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ères | Nom 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 :
- CursorSetForce pour appliquer une force au curseur,
- CursorSetPosition pour définir la position du curseur,
- JointsSetTorque pour appliquer un couple aux articulations du dispositif, ou
- JointsSetAngles pour définir les angles des articulations du dispositif.
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
. SiDeviceId
estANY_ID
, la valeur deSelectedDeviceId
est utilisé. - "handedness" est la main sélectionnée, représentée par ".left", ".right", ou omise si
SelectedHandedness
estNil
.
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.
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.