Unity3D (新)SteamVR 2.0手柄输入与震动

Unity3D (新)SteamVR 2.0手柄输入与震动

最近这两周比较忙,暂时没时间弄自己的项目了。OK,说说我最近的发现吧。

公司要做一款VR射击游戏,本以为是个简单的任务,结果才知道SteamVR更新2.0后大变样了,所以费了些时间研究,在这里把研究成果分享一下。

首先你要配置SteamVR手柄的输入,在 Window -> SteamVR Input 下配置即可,具体操作方法网上有教程,我就不细说了。

不过要注意的是,在设置手柄输入的时候一定要保证你的浏览器是正常的,不然会和C4我一样遇到尴尬的状况。。。

此为别人的浏览器打开的效果:
Unity3D (新)SteamVR 2.0手柄输入与震动_第1张图片
此为本人的浏览器打开的效果。。。:
Unity3D (新)SteamVR 2.0手柄输入与震动_第2张图片
不过没关系,如果遇到这种情况可以在SteamVR应用中选 设备 -> 控制器输入设置 来设置手柄,但是最好在游戏测试时打开设置,这样才能看到自己要设置的程序。

然后就是Steam最好为在线状态,因为好像只有Steam为在线状态时你的手柄设置才会保存。

最后说一下如何用代码调用手柄输入和震动:

 void Update()
    {
        //手柄输入:SteamVR_Actions.输入所在集_输入名称.检测方法(SteamVR_Input_Sources.哪个手柄)
        if (SteamVR_Actions.default_Fire.GetStateDown(SteamVR_Input_Sources.RightHand))
        {
            //手柄震动:SteamVR_Actions.default_Haptic.Execute(开始时间,持续时间,频率,振幅,SteamVR_Input_Sources.哪个手柄)
            SteamVR_Actions.default_Haptic.Execute(0, 0.2f, 1, 5, SteamVR_Input_Sources.RightHand);
        }
    }

你可能感兴趣的:(VR)