如何在Unity项目之间共享新的SteamVR ActionSet和绑定

时间:2018-12-20 20:08:11

标签: unity3d input htc-vive steamvr

我正在Unity中开发一个VR模块,希望能够将其作为资产包导入到我的任何统一项目中。此程序包需要定义Vive控制器按钮的输入才能在游戏过程中将其打开。我想以某种方式在项目之间共享此动作集和按钮绑定,因此不必每次使用时都手动创建动作和绑定。

是否可以在项目之间共享SteamVR输入设置?特别是一个完整的输入操作集及其关联的控制器绑定。

我尝试将SteamVR_Input文件夹导出为软件包,还尝试包含SteamVR文件夹,但均无用。重新导入后,我可以在SteamVR_Input文件夹的项目文件夹中看到导入的操作集,但是它没有显示在输入窗口中(“窗口菜单”->“ SteamVr输入”)。但是,实时输入视图会在列表中显示操作,但不会注册任何按钮按下。

2 个答案:

答案 0 :(得分:1)

注意:此答案基于SteamVR插件2.2b4的Beta版。在将来的版本中可能会更改

好,我已经开始工作了。据我所知,创建一个带有内部绑定和动作的unitypackage仍然不太可能,但是比以前要好得多。

要将ActionSet和绑定从项目1移动到项目2:

在第一个项目中:使用所需的动作和绑定创建一个新的动作集。

转到窗口菜单> SteamVR输入

单击“高级设置”,然后单击“创建”。这将在项目中的某个位置创建一个文件夹。

这是问题所在。此文件夹似乎无法打包。但是:

重要提示:在您的第二个项目中,删除SteamVR_Input文件夹(您可能需要备份它,以防万一)

将此创建的文件夹从第一个项目(从Windows资源管理器中)拖到第二个项目(在Unity中打开)的项目视图中的Assets文件夹中。如果您在团结之外这样做,将无法正常工作。

它将提示您导入“部分绑定”,并将自定义ActionSet添加到该其他项目。在第二个项目中打开窗口菜单> SteamVR_Input,然后您应该在顶部看到导入的ActionSet。单击“保存并生成”以为此项目重新创建一个新的SteamVR_Input文件夹。

Voila!它应该工作。 我还没有将它包装在资产包装中。

答案 1 :(得分:0)

花了很多令人沮丧的时间之后,我发现了以下简单的过程。 (在Unity 2019.1.14f1中,我怀疑它也可以在更高版本中使用。)

在项目1中:

在SteamVR图形界面中编辑绑定以进行选择之后,至关重要

替换默认绑定

其结果是您的绑定被完全 保存在

资产/ StreamingAssets / SteamVR

(默认情况下,这是一个非常好的位置)

顺便说一句,如果要在独立版本中使用绑定,也需要

在项目2中: 通过文件系统或通过导出和导入自定义包,将StreamingAssets / SteamVR文件夹从项目1复制到项目2中的相应位置。

从那时起,您的绑定已在project2中可用!