Bemeneti állapot elérése az MRTK-ban

Közvetlenül lekérdezhető az MRTK összes bemenetének állapota, ha a bemeneti forrásokhoz csatolt vezérlőkön iterál. Az MRTK kényelmi módszereket is biztosít a szem, a kéz, a fej és a mozgásvezérlő pozíciójának és elforgatásának eléréséhez.

Az InputDataExample jelenetben példát láthat a bemenet vezérlőkre való iterálásával és a osztály használatával történő InputRayUtils lekérdezésére.

Példa: Hozzáférés pozíciója, fej, kéz, szem elforgatása az MRTK-ban

Az MRTK osztálya kényelmi módszereket biztosít a kéz sugár, a fej sugár, a szemkitekintés és a mozgásvezérlő sugár InputRayUtils eléréséhez.

// 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
}

Példa: Hozzáférés pozíciója, a jelenetben aktív összes 6DOF-vezérlő rotációja

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);
        }
    }
}

Lásd még