Aller au contenu principal

← Retour à la page d'index

Journal des modifications 2.1.1

Dépendances​

  • Mise à jour de haply- inverse-c.dll vers la version 2.1.1 (nécessite Inverse SDK >= 2.1)
  • Mise à jour de Haply.Inverse.dll vers la version 2.1.1
  • Ajout de com.unity.xr.core-utils version 2.3.0
attention

La compatibilité avec les versions de Unity antérieures à la version 2022.1.0f1 n'est plus assurée. Veuillez passer à une version plus récente si vous rencontrez des problèmes de compatibilité.

Modifications incompatibles​

  • Inverse3 et VerseGrip transmettent device comme premier point fort de l'événement ConnectionStateChanged
    • ConnectionStateChanged(state, prevState) > ConnectionStateChanged(device, state, prevState)
    • ConnectionStateChangedAsync(state, prevState) > ConnectionStateChangedAsync(device, state, prevState)
  • La propriété State DeviceMapper est désormais en lecture seule.

Nouvelles fonctionnalités​

  • Le composant Inverse3Body applique l'orientation du corps d'un appareil Inverse3 à un GameObject spécifié.
  • Inverse3 :
    • « Données de l'appareil (inspecteur) » affiche ControlMode ainsi que la dernière Force, Position ou Angles envoyée à l'appareil.
    • JointsAngles et JointsAngularVelocity.
    • Powered indique si l'appareil est actuellement alimenté.
    • L'événement Unity PowerSupplyStatusChanged est déclenché à chaque changement d'état de l'alimentation.
    • Orientation permet d'obtenir l'orientation actuelle de l'appareil Inverse3.
    • L'événement OrientationChangedAsync est déclenché à chaque changement d'orientation du corps.
    • RequestOrientation() permet de définir manuellement l'orientation du corps.
    • ControlMode récupère le mode de contrôle actuel (CursorForce, CursorPosition, JointsTorques, JointsAngles).
    • L'événement Unity ControlModeChanged est déclenché à chaque changement de mode de contrôle.
    • ForceOutput, PositionOutput, JointsTorqueOutput et JointsAnglesOutput permettent d'obtenir les sorties actuelles.
    • Release() réinitialise la commande de l'appareil en envoyant une force nulle (remplace TryResetForce()).
    • CoordinateConverter permet de définir les paramètres de conversion des coordonnées à l'aide d'un fichier prédéfini ou d'une valeur saisie directement.
    • ErrorEvent est déclenché (sur le thread principal) lorsqu'une erreur de type ClientConnection se produit pour un appareil associé.
  • VerseGrip :
    • CoordinateConverter permet de définir les paramètres de conversion des coordonnées à l'aide d'un fichier prédéfini ou d'une valeur saisie directement.
    • ErrorEvent est déclenché (sur le thread principal) lorsqu'une erreur de type ClientConnection se produit pour un appareil associé.
  • DeviceMapper :
    • Associe les appareils connectés pendant l'exécution.
    • Obtenir les informations relatives àl'alimentation électrique et àl' Inverse3 , ainsi qu'à l'orientation du boîtier pour chaque appareil Inverse3.
    • DeviceInfoPollingMode : modes Manual, Once (par défaut) ou Continuous
    • devicesInfoPollDelay avec un seuil de sécurité fixé à 1sec si l'orientation du corps est demandée, 0.5sec sinon.
    • Initialisé uniquement lorsque le composant est activé.
    • Accessoires pour appareils filtrés :
      • GetInverse3Devices(handedness) récupère les appareils Inverse3 filtrés en fonction de la latéralité indiquée.
      • GetVerseGripDevices(handedness) récupère les appareils VerseGrip associés aux appareils Inverse3 correspondant à la latéralité spécifiée.
      • GetInverse3(handedness) récupère le premier appareil Inverse3 correspondant à la latéralité indiquée.
      • GetInverse3(verseGrip) récupère l'appareil « Inverse3 » associé à un appareil VerseGrip donné.
      • GetVerseGrip(inverse3) récupère l'appareil VerseGrip associé à un appareil Inverse3 spécifié.
  • Paramètres d'orientation ajoutés aux composants VerseGripCursor et Inverse3Body.
  • VerseGrip.Orientation remplacer VerseGrip.LocalRotation.
  • Type explicite Inverse3Data pour le cache de Inverse3 :
    • propriétés d'état mises en cache : CursorPosition, JointsAngles, JointsAngularVelocity, Orientation,
    • GravityCompensation, StatusPowerSupply, ConfigTorqueScaling
    • propriétés des sorties de contrôle mises en cache : ControlMode, CursorForceOutput, CursorPositionOutput, JointsTorqueOutput, JointsAnglesOutput.
    • coordinateConverter utilisé pour convertir les données reçues et envoyées selon le système de coordonnées spécifié.
    • Le cache s'abonne au client pour être mis à jour automatiquement.
    • Déclenche des événements lors des mises à jour du cache.
  • Structure explicite Joint3 avec trois membres de type float j0, j1 et j2 (utilisés par JointsSetTorque et JointsSetAngles).
  • Type explicite VerseGripData pour le cache de VerseGrip :
    • propriétés d'état mises en cache : Orientation, IsAttached, ButtonCount.
    • états des boutons mis en cache.
    • Le cache s'abonne au client pour être mis à jour automatiquement.
    • coordinateConverter utilisé pour convertir les données reçues selon le système de coordonnées spécifié.
    • Déclenche des événements lors des mises à jour du cache.
  • Convertisseur de coordonnées (remplace UnityConvert) pour définir individuellement comment convertir les coordonnées de la caméra vers l'espace de coordonnées Unity :
    • Inverse3CoordinateConverter pour convertir les coordonnées du curseur et l'orientation du corps.
    • VerseGripCoordinateConverter pour convertir l'orientation de VerseGrip.
    • Les structures Vector3Settings et QuaternionSettings qui servent à stocker les paramètres de conversion du système de coordonnées.
    • Créez les préréglages par défaut du convertisseur de coordonnées pour « Inverse3 » et « VerseGrip » à partir des composants ou du menu « Assets ».
      • Inverse3 (Position « bras vers l'avant »): convertisseur doté de paramètres adaptés à un appareil dont le bras est orienté vers l'utilisateur, l'icône DEL se trouvant sur le côté.
      • Inverse3 (Icône « Forward Pose »): convertisseur avec des paramètres pour un appareil dont l'icône DEL est orientée vers l'utilisateur, le bras sur le côté.
      • VerseGrip (par défaut): adaptateur pour un appareil dont l'écran est tourné vers l'utilisateur et dont le bouton de saisie se trouve sur le dessus.
  • Connexion client obtenir FirmwareVersion, GravityCompensation et TorqueScaling lors de l'ouverture de l'appareil.
  • Moniteur de connexion affiche GravityCompensation, TorqueScaling et PowerSupply.

Corrections de bogues​

  • Inverse3.DeviceStateChanged était également déclenché avec JointsSetTorque et JointsSetAngles.
  • Reconnexion automatique de l'appareil après une déconnexion.
  • Nettoyage du thread d'interrogation du client à la fin de la compilation.
  • Correction de bogues et amélioration de la stabilité.
  • Correction du mappage des appareils après le déchargement et le chargement de la scène

Obsolète​

  • ClientConnection.Configuration.HapticFrequencyHz remplacé par HapticPollFrequency
  • ClientConnection.Configuration.PollDelayNs remplacé par HapticPollDelayNs
  • DeviceBehaviour.ConnectionStateChangedAsync sera supprimé lors de la prochaine version majeure
  • Inverse3.Position remplacé par Inverse3.CursorPosition
  • Inverse3.LocalPosition remplacé par Inverse3.CursorLocalPosition
  • Inverse3.TryResetForce() remplacé par Release()
  • VerseGrip.LocalRotation remplacé par VerseGrip.Orientation
  • JointsSetTorque(Vector3) remplacé par JointsSetTorques(Joint3)
  • JointsSetTorque(float, float, float) remplacé par JointsSetTorques(float, float, float)
  • JointsSetAngles(Vector3) remplacé par JointsSetAngles(Joint3)

← Retour à la page d'index