- 引入XR相关包和新Input系统包:
using UnityEngine.InputSystem; using UnityEngine.XR.Interaction.Toolkit;
- 声明相应的actionmap:
public List other_ref = null; public List grip_ref = null;
- 声明相应的需要操作的对象,我这里是挂在VR Controller下的手部模型动画:
public Animator left_anime_controller; public Animator right_anime_controller;
- Awake触发功能函数:
private void Awake()
{
foreach(var ele in other_ref)
{
ele.action.performed += toggle_panel;
}
foreach (var ele in grip_ref)
{
ele.action.performed += set_grip;
}
}
- 写具体函数动作:
private void set_grip(InputAction.CallbackContext context) { float cur_grip_value = context.action.ReadValue(); left_anime_controller.SetFloat("grib", cur_grip_value); }