Skip to content

Unity3D OpenVR SteamVR Input Action 动作

Updated: at 12:43,Created: at 01:51

本文来告诉大家在 Unity3D 中的 SteamVR Input 里面的 Action 动作行为

开始之前,请先阅读 Unity OpenVR 虚拟现实入门一:安装配置 Unity + OpenVR 环境 - walterlvUnity OpenVR 虚拟现实入门二:一个最简单的虚拟现实游戏/程序 - walterlv 配置完成环境

完成配置环境之后,即可在窗口里面找到 SteamVR Input 按钮,通过点击此按钮即可打开 SteamVR Input 界面

默认打开的 SteamVR Input 界面会比较小,请将他拖动修改到足够大小,期望能看到如下界面所有按钮

以上即可看到各个不同的交互类型,每个交互类型可以抽象为以下不同的动作类型

switch (o)
{
case SteamVR_Action_Boolean _: break;
case SteamVR_Action_Single _: break;
case SteamVR_Action_Vector2 _: break;
case SteamVR_Action_Vector3 _: break;
case SteamVR_Action_Pose _: break;
case SteamVR_Action_Skeleton _: break;
}

额外还有 SteamVR_Action_Vibration 动作,这个大多数是用来作为输出的,如输入到手柄作为反馈

在 SteamVR 开发中,不推荐使用绑定具体的按钮或交互硬件设备上,而是通过抽象的输入。具体来说,不推荐将某个动作的输入绑定到具体的交互硬件设备如摇杆上,如获取摇杆的状态等。推荐的开发方式是定义抽象的交互方式,接着通过抽象的交互方式绑定到自身的输入源上面。此做法的优势在于给玩家更好的定制化,以及更好适配更多厂商的硬件,更好适配未来的硬件设备。例如定义一个叫 DirectMovemont 的动作,此动作表示角色摄像机的移动,输入类型是 SteamVR_Action_Vector2 类型,而具体交给什么样的硬件设备就没有做强制约束,而是可以给到用户端进行自定义适配。默认的 SteamVR 会有默认的交互,通过 SteamVR Input 窗口的 Open Binding UI 按钮,即可打开对应的按键绑定功能

定义具体的交互绑定的定义,如在代码中定义交互的输入,以及绑定到具体的硬件设备上,请参阅 Unity OpenVR 虚拟现实入门六:通过摇杆控制玩家移动 - walterlv

系列博客请看

参阅: SteamVR 2.0 Unity插件使用指南_sovida的博客-CSDN博客


知识共享许可协议

原文链接: http://blog.lindexi.com/post/Unity3D-OpenVR-SteamVR-Input-Action-%E5%8A%A8%E4%BD%9C

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。 欢迎转载、使用、重新发布,但务必保留文章署名 林德熙 (包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我 联系