4

Unity3D OpenVR SteamVR Input Action 动作

 3 years ago
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.
neoserver,ios ssh client
Unity3D OpenVR SteamVR Input Action 动作

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

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

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

lindexi%2F2021516952488411.jpg

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

lindexi%2F202151695624691.jpg

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

  • 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 按钮,即可打开对应的按键绑定功能

lindexi%2F202151695624691.jpg

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

系列博客请看

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


本文会经常更新,请阅读原文: 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 的公众号
lindexi%2F201985113622445

欢迎进入 Eleven 老师组建的 .NET 社区
lindexi%2F20209121930471745.jpg

以上广告全是友情推广,无盈利


Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK