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

Il est possible d’interroger directement l’état de toutes les entrées dans MRTK en effectuant une itération 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, mains, tête et contrôleur de mouvement.

Pour obtenir un exemple d’interrogation d’entrée via l’itération sur les contrôleurs et l’utilisation de la classe, consultez la scène InputDataExample InputRayUtils .

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

InputRayUtilsLa classe de MRTK fournit des méthodes pratiques pour accéder aux rayons de la main, aux rayons de tête, aux rayons de regard oculaire et aux rayons de 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