

Unity3D OpenVR SteamVR Input Action 动作
source link: https://lindexi.gitee.io/post/Unity3D-OpenVR-SteamVR-Input-Action-%E5%8A%A8%E4%BD%9C.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

本文来告诉大家在 Unity3D 中的 SteamVR Input 里面的 Action 动作行为
开始之前,请先阅读 Unity OpenVR 虚拟现实入门一:安装配置 Unity + OpenVR 环境 - walterlv 和 Unity OpenVR 虚拟现实入门二:一个最简单的虚拟现实游戏/程序 - walterlv 配置完成环境
完成配置环境之后,即可在窗口里面找到 SteamVR Input 按钮,通过点击此按钮即可打开 SteamVR Input 界面
默认打开的 SteamVR Input 界面会比较小,请将他拖动修改到足够大小,期望能看到如下界面所有按钮
以上即可看到各个不同的交互类型,每个交互类型可以抽象为以下不同的动作类型
- Boolean 类型动作: 表示只有两个状态的动作,如跳起,只有不跳和跳。对应
SteamVR_Action_Boolean
类型 - Single 类型动作: 表示 [0,1] 过程的范围值,如 Trigger 键按下到松开的过程。对应
SteamVR_Action_Single
类型 - Vector2 类型动作: 可以表示如 x 和 y 方向的值,如上下左右方向,如 手柄摇杆 的功能。对应
SteamVR_Action_Vector2
类型 - Vector3 类型动作: 返回三维的数值,对应
SteamVR_Action_Vector3
类型 - Pose 类型动作: 返回三维空间中的位置和旋转,如跟踪 VR 控制器,对应
SteamVR_Action_Pose
类型 - Skeleton 类型动作: 对应
SteamVR_Action_Skeleton
类型
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
系列博客请看
本文会经常更新,请阅读原文: https://blog.lindexi.com/post/Unity3D-OpenVR-SteamVR-Input-Action-%E5%8A%A8%E4%BD%9C.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。
如果你想持续阅读我的最新博客,请点击 RSS 订阅,推荐使用RSS Stalker订阅博客,或者前往 CSDN 关注我的主页
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 。
无盈利,不卖课,做纯粹的技术博客
以下是广告时间
推荐关注 Edi.Wang 的公众号
欢迎进入 Eleven 老师组建的 .NET 社区
以上广告全是友情推广,无盈利
Recommend
-
10
Unity OpenVR 虚拟现实入门一:安装配置 Unity + OpenVR 环境 发布于 2021-05-15 20:08 更新于 2021-05-15 23:57 在 Unity...
-
6
Unity OpenVR 虚拟现实入门二:一个最简单的虚拟现实游戏/程序 发布于 2021-05-15 20:10 更新于 2021-05-15 23:59 在 Unit...
-
5
Unity OpenVR 虚拟现实入门六:通过摇杆控制玩家移动 发布于 2021-05-16 11:00 更新于 2021-05-17 00:31 在 Unity 的帮助...
-
8
Unity OpenVR 虚拟现实入门四:通过脚本控制手与控制器 发布于 2021-05-16 09:49 更新于 2021-05-16 09:50 在 Unity 的帮...
-
7
Unity OpenVR 虚拟现实入门五:通过传送控制玩家移动 发布于 2021-05-16 09:59 更新于 2021-05-16 09:47 在 Unity 的帮助...
-
11
Unity3D OpenVR SteamVR 获取输入动作按键 交互设备数据方法在开发 OpenVR 游戏或应用时,由于 VR 设备的交互形式和传统的形式不相同,因此获取输入交互设备数据如按键等的方式也有所不同。在 Steam VR SDK 里面给出了推荐的做法是只定义交互名称,而不获...
-
10
Unity3D OpenVR 虚拟现实 保龄球打砖块游戏开发据说水哥买了 Valve Index 设备,既然这个设备这么贵,不开发点有(zhi)趣(zhang)游戏就感觉对不起这个设备。本文将来开始着手开发一个可玩性不大,观赏性极强的保龄球打砖块游戏。这仅仅只是一个入门级的...
-
7
Unity3D OpenVR SteamVR 点击菜单切换场景本文来告诉大家如何在基于 SteamVR 的 Unity3D 里面在用户点击菜单的时候,切换到新的场景的方法 在开始之前,期望大家已阅读过基于 SteamVR 的 Unity3D 相关博客,如果还没了解相关知识,请参阅如下...
-
4
Unity3D OpenVR SteamVR 在头盔视觉前面常驻文本我期望在玩家视觉前方常驻一点文本,用于做有趣的交互,实现方法很简单 在开始之前,期望大家已阅读过基于 SteamVR 的 Unity3D 相关博客,如果还没了解相关知识,请参阅如下博客 如...
-
15
Modified OpenVR DLL with AMD FidelityFX SuperResolution Upscaler This modified openvr_api.dll allows you to apply FidelityFX SuperResolution upscaling to many SteamVR game...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK