Accès à l’état d’entrée dans MRTK — MRTK2

Il est possible d’interroger directement l’état de toutes les entrées dans MRTK en itérant sur les contrôleurs attachés aux sources d’entrée. MRTK fournit également des méthodes pratiques pour accéder à la position et à la rotation des yeux, des mains, de la tête et du contrôleur de mouvement.

Consultez la scène InputDataExample pour obtenir un exemple d’interrogation d’entrée à la fois par itération sur des contrôleurs et à l’aide de la InputRayUtils classe.

Exemple : position d’accès, rotation de la tête, mains, yeux dans MRTK

La classe de InputRayUtils MRTK fournit des méthodes pratiques pour accéder au rayon de la main, au rayon de tête, au rayon de regard oculaire et aux rayons du contrôleur de mouvement.

// Get the head ray
var headRay = InputRayUtils.GetHeadGazeRay();

// Get the right hand ray
Ray rightHandRay;
if(InputRayUtils.TryGetHandRay(Handedness.right, rightHandRay))
{
    // Right hand ray is available
}
else
{
    // Right hand ray is not available
}

Exemple : position d’accès, rotation de tous les contrôleurs 6DOF actifs dans la scène

foreach(var controller in CoreServices.InputSystem.DetectedControllers)
{
    // Interactions for a controller is the list of inputs that this controller exposes
    foreach(MixedRealityInteractionMapping inputMapping in controller.Interactions)
    {
        // 6DOF controllers support the "SpatialPointer" type (pointing direction)
        // or "GripPointer" type (direction of the 6DOF controller)
        if (inputMapping.InputType == DeviceInputType.SpatialPointer)
        {
            Debug.Log("spatial pointer PositionData: " + inputMapping.PositionData);
            Debug.Log("spatial pointer RotationData: " + inputMapping.RotationData);
        }

        if (inputMapping.InputType == DeviceInputType.SpatialGrip)
        {
            Debug.Log("spatial grip PositionData: " + inputMapping.PositionData);
            Debug.Log("spatial grip RotationData: " + inputMapping.RotationData);
        }
    }
}

Voir aussi