NRInput
Was this helpful?
Was this helpful?
//returns true if a Trigger button is currently being pressed
NRInput.GetButton(ControllerButton.TRIGGER);
//returns true if a Trigger button was pressed down this frame
NRInput.GetButtonDown(ControllerButton.TRIGGER);
//returns true if a Trigger button was released this frame
NRInput.GetButtonUp(ControllerButton.TRIGGER);//Add button down listeners for right controller's trigger button
NRInput.AddDownListener(ControllerHandEnum.Right, ControllerButton.TRIGGER, () => { Debug.Log("do sth"); });
//Add pressing listeners for right controller's trigger button
NRInput.AddPressingListener(ControllerHandEnum.Right, ControllerButton.TRIGGER, () => { Debug.Log("do sth"); });
//Add button up listeners for right controller's trigger button
NRInput.AddUpListener(ControllerHandEnum.Right, ControllerButton.TRIGGER, () => { Debug.Log("do sth"); })/// Event invoked whenever a controller device is connected.
public static Action OnControllerConnected;
/// Event invoked whenever a controller device is disconnected.
public static Action OnControllerDisconnected;
/// Event invoked before controller devices are going to recenter. <
public static Action OnBeforeControllerRecenter;
/// Event invoked whenever controller devices are recentering.
internal static Action OnControllerRecentering;
/// Event invoked whenever controller devices are recentered.
public static Action OnControllerRecentered;
/// Event invoked whenever controller devices states are updated.
public static Action OnControllerStatesUpdated;
//Set interaction method to Gaze
NRInput.RaycastMode = RaycastModeEnum.Gaze;
//Hide Reticle Visual
NRInput.ReticleVisualActive = false;
//Hide Laser Visual
NRInput.LaserVisualActive = false;
//Hide Controller Model
NRInput.ControllerVisualActive = false;
//Disable Controller Vibrationn
NRInput.HapticVibrationEnabled = false;
//Trigger Haptic Vabration of 0.1s
NRInput.TriggerHapticVibration(0.1f);
//Recenter controller Raycast
NRInput.RecenterController();//Getting available features for current controller, such as
//magenetometer, remaining battery, haptics, etc.
NRInput.GetControllerAvailableFeature();
//Get controller's position. For current XREAL device, this
//will always return Vector3.Zero
NRInput.GetPosition();
//Get controller's rotation
NRInput.GetRotation();
//Get controller type: Phone controller or computing unit controller
ControllerType controllerType = NRInput.GetControllerType();
//Whether the controller's touch pad is being touched
NRInput.IsTouching();
//Getting a Vector2 touch value. Vector2.Zero if not touched
NRInput.GetTouch();
//Get controller's gyroscope data
NRInput.GetGyro();
//Get controller's accelerometer data
NRInput.GetAccel();
//Get controller's magnetometer data
NRInput.GetMag();
//Get controller's remaining battery
NRInput.GetControllerBattery();
//Getting the dominant hand
ControllerHandEnum domainHand = NRInput.DomainHand;
//You could pass in a dominant hand for most of the functions above
NRInput.GetRotation(NRInput.DomainHand);
//Whether the feature is supported by controller
NRInput.GetControllerAvailableFeature(ControllerAvailableFeature.CONTROLLER_AVAILABLE_FEATURE_POSITION);
NRInput.GetControllerAvailableFeature(ControllerAvailableFeature.CONTROLLER_AVAILABLE_FEATURE_GYRO);//Obtain the root of gaze
var gazeAnchor = NRInput.AnchorsHelper.GetAnchor(ControllerAnchorEnum.GazePoseTrackerAnchor);
//Obtain the root of right laser
var rightLaserAnchor = NRInput.AnchorsHelper.GetAnchor(ControllerAnchorEnum.RightLaserAnchor);
//Obtain the root of right model
var rightModelAnchor = NRInput.AnchorsHelper.GetAnchor(ControllerAnchorEnum.RightModelAnchor);public class CubeInteractiveTest : MonoBehaviour, IPointerClickHandler, IPointerEnterHandler, IPointerExitHandler, IDragHandler
{
private MeshRenderer m_MeshRender;
void Awake()
{
m_MeshRender = transform.GetComponent<MeshRenderer>();
}
//when pointer clicks, set the cube color to random color
public void OnPointerClick(PointerEventData eventData)
{
m_MeshRender.material.color = new Color(Random.Range(0f, 1f), Random.Range(0f, 1f), Random.Range(0f, 1f));
}
//when pointer hover, set the cube color to green
public void OnPointerEnter(PointerEventData eventData)
{
m_MeshRender.material.color = Color.green;
}
//when pointer exit hover, set the cube color to white
public void OnPointerExit(PointerEventData eventData)
{
m_MeshRender.material.color = Color.white;
}
}