Пример #1
0
    /// <summary>
    /// Gets the status of a trigger
    /// </summary>
    /// <param name="idTrigger"></param>
    /// <param name="idPad"></param>
    /// <returns></returns>
    public float GetHairTrigger(sl.CONTROLS_AXIS1D idTrigger, int idPad)
    {
#if ZED_OCULUS
        return(OVRInput.Get(ConvertToAxis(idTrigger), (OVRInput.Controller)idPad));
#else
        return(0);
#endif
    }
    /// <summary>
    /// Returns the state of triggers
    /// </summary>
    /// <param name="idTrigger"></param>
    /// <param name="idPad"></param>
    /// <returns></returns>
    public float GetHairTrigger(sl.CONTROLS_AXIS1D idTrigger, int idPad)
    {
                #if ZED_STEAM_VR
        if (!padsAreInit || idPad == -1)
        {
            return(0);
        }

        return((float)SteamVR_Controller.Input(idPad).GetAxis((EVRButtonId)idTrigger).magnitude);
                #else
        return(0);
                #endif
    }
    /// <summary>
    /// Converts an axis to a SteamVR enum
    /// </summary>
    /// <param name="button"></param>
    /// <returns></returns>
    private EVRButtonId ConvertToAxis(sl.CONTROLS_AXIS1D button)
    {
        switch (button)
        {
        case sl.CONTROLS_AXIS1D.PRIMARY_INDEX_TRIGGER: return(EVRButtonId.k_EButton_SteamVR_Trigger);

        case sl.CONTROLS_AXIS1D.SECONDARY_INDEX_TRIGGER: return(EVRButtonId.k_EButton_SteamVR_Trigger);

        case sl.CONTROLS_AXIS1D.PRIMARY_HAND_TRIGGER: return(EVRButtonId.k_EButton_Grip);

        case sl.CONTROLS_AXIS1D.SECONDARY_HAND_TRIGGER: return(EVRButtonId.k_EButton_Grip);
        }
        return(EVRButtonId.k_EButton_Grip);
    }
Пример #4
0
    /// <summary>
    /// Converts the standard ID axis to the ID of Oculus
    /// </summary>
    /// <param name="button"></param>
    /// <returns></returns>
    private OVRInput.Axis1D ConvertToAxis(sl.CONTROLS_AXIS1D button)
    {
        switch (button)
        {
        case sl.CONTROLS_AXIS1D.PRIMARY_INDEX_TRIGGER: return(OVRInput.Axis1D.PrimaryIndexTrigger);

        case sl.CONTROLS_AXIS1D.SECONDARY_INDEX_TRIGGER: return(OVRInput.Axis1D.SecondaryIndexTrigger);

        case sl.CONTROLS_AXIS1D.PRIMARY_HAND_TRIGGER: return(OVRInput.Axis1D.PrimaryHandTrigger);

        case sl.CONTROLS_AXIS1D.SECONDARY_HAND_TRIGGER: return(OVRInput.Axis1D.SecondaryIndexTrigger);
        }
        return(OVRInput.Axis1D.None);
    }