前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Unity3D OpenVR SteamVR Input Action 动作

Unity3D OpenVR SteamVR Input Action 动作

作者头像
林德熙
发布2021-05-17 16:46:27
1.3K0
发布2021-05-17 16:46:27
举报
文章被收录于专栏:林德熙的博客林德熙的博客

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

开始之前,请先阅读 Unity OpenVR 虚拟现实入门一:安装配置 Unity + OpenVR 环境 - walterlvUnity 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 类型
代码语言:javascript
复制
        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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档