SteamVR Plugin 2.0.1 手柄按键监听

入门选手一名 网上找不到新版本教程 很是苦恼 通过艰难的查找资料 大概会使用新版本的手柄按键监听 就写一下:

(默认读者拥有C# unity steamVR旧版本的开发经验,毕竟只是自己瞎写 不是教程)

首先在Unity下载SteamVR Plugin最新版本 导入之后 在文件目录steamVR > Prefabs 中找到[CameraRig]预制体 拖入场景中 运行unity 会弹出对话框 大概意思是设置一些默认手柄按键 点Yes就可以了 等待设置后会弹出如下窗口:

 

SteamVR Plugin 2.0.1 手柄按键监听_第1张图片

这时先不要管它是啥 点Save就好  完成之后新的steamVR 就已经可以正常使用了 可以先测试一下 在Unity工具栏点击Window>steamVR Input LIve View 会看到如图窗口:

SteamVR Plugin 2.0.1 手柄按键监听_第2张图片

运行Unity 确保头盔和手柄与steamVR runtime的链接没有问题  这时按下手柄按键 上述窗口会有相应的反应 说明手柄的按键已经可以监听了 可以进行下一步。

在unity场景中新建一个Cube 并编写如下脚本 赋予Controller (right)或Controller (left):

SteamVR Plugin 2.0.1 手柄按键监听_第3张图片

把场景中的cube拖到脚本面板的空位 这时运行 按下扳机键 就会执行代码编写相应的事件。如果换按键的话 改inActions后的按键名称就好 与旧版本相比 按键的命名使用很大变化的 具体按键对应的名称 打开steamVR Input LIve View 试试就知道了。

接下来说一下如何添加新的按键命令 。

旧版本的SteamVR Plugin是可以监听Touchpad触摸坐标和菜单键按下的  但是新版默认按键没有这两个功能 得手动添加。

工具栏Window>SteamVR Input 点击后出现图一对话框 现在会发现 你出现的窗口中 没有图一的最后两项TouchPos和menus

添加方法如下:

点击In窗口的“+”  如图填写:

SteamVR Plugin 2.0.1 手柄按键监听_第4张图片

 

点击保存 这里需要注意的就是Type项 要正确选择 我们想要的touchPos是触摸坐标 是一个二维的坐标 所以要选Vector2 menus是菜单键是否按下 要选boolean。添加完成后点击Save。这是点开steamVR Input LIve View窗口就会多出刚刚添加的那两项了。

 

如果你已经心急的运行unity想看下效果 你会发现这时按下手柄的menus键和触摸Touchpad在steamVR Input LIve View窗口中都没有反应 我们还差最后一步 点击图四的Open binding UI 进入如图网页窗口设置手柄对应按键:

(点击Edit)

SteamVR Plugin 2.0.1 手柄按键监听_第5张图片

点击Trackpad由此加号 选择 TRACKPAD 会在Trackpad栏中添加一个新的栏目 点击Click后的none 选择teleport  点击position后的None选择咱们刚刚自己命名添加的touchpos (menus同理)这时在回到Unity 打击图4的Save后 这时在运行状态这 触摸Touchpad和点击手柄menu键 就可以在steamVR Input LIve View窗口中看到相应的反馈了。

自己添加的按键和默认按键在代码中的使用方法是一样的 都可以在SteamVR_Input._default.inActions.后点出来。

同理 我们还可以添加其它的键 比如Touchpad上下左右四个键分别按下的监听 只要在设置UI的界面找到对应的项就可以了。

 

如果有什么我写的不清楚的地方大家可以去看看官方文档(导入SteamVR Plugin 2.0.1 后 steemVR文件夹中有两个pdf文件)和一个视频(yotube上搜索SteamVR Plugin 2.0 大概是一个台湾的做的中文视频)。

 

希望对你有帮助。。

 

 

 

你可能感兴趣的:(SteamVR Plugin 2.0.1 手柄按键监听)