SteamVR2.0插件自定义按钮正确使用方式

推荐的开发框架是VRIFAuto Hand - VR Physics Interaction,VRIF是我现在用的,其最大的优势就是一次开发多平台发布,可以发布到SteamVR平台、Quest平台及Pico平台,就主要的就是基于输入的统一,PC的VR有SteamVR2.0,安卓的有Unity 新版本输入系统,这Unity 新版本输入系统不限于VR,游戏手柄和键盘等,都可以接进来,理论上啥都能接,SteamVR2.0只适用于VR,废话不多说,下面说一下,SteamVR2.0如何使用自定义按钮,打包后也是正常使用的。

1、先创一个空场景,把玩家拉进来

 2、创一个新的动作集(ABC)和一个新的动作(TestAction),Save and generate(保存生成一下)

 3、打开BindingUI,绑定一下按钮(新的动作)与实体按键的映射,SteamVR提示有一个动作没绑定,绑定好后一定要按下替换默认绑定,不然打包出来用不了

 

 4、打开SteaVR input Live view窗口,可以看到新的动作集ABC和动作TestAction

 

 5、运行一下看状态

Not Use Yet说明,你定义好动作但没使用

5、写测试脚本使用这动作

using UnityEngine;
using Valve.VR;

public class Test : MonoBehaviour
{
    private void OnEnable()
    {
        SteamVR_Actions.ABC.TestAction.onStateDown += TestAction_onStateDown;
    }
    private void OnDisable()
    {
        SteamVR_Actions.ABC.TestAction.onStateDown -= TestAction_onStateDown;
    }
    private void TestAction_onStateDown(SteamVR_Action_Boolean fromAction, SteamVR_Input_Sources fromSource)
    {
        Debug.Log($"板机值为{fromAction}");
    }

}

 6、挂上脚本,重新运行看状态 

 现在状态为Inactive,现是说明你是使用这动作但是,这动作的动作集没有激活,处于禁用状态

7、挂载和开启动作集,添加SteaVR2.0的挂载动作集的脚本,设开启动作集为\action\ABC

 

 8、再次运行,看状态

 按下变绿,由False变True,这时按钮就是真的可用了

 这就是Change状态,是按钮可用了,若为深红色则为Not Bound,去看一下第三步,按键没绑定好,打包出来用不了去看一下,第三步没有替换默认按钮 

猜你喜欢

转载自blog.csdn.net/qq_39858654/article/details/130102474