我正在Unity中开发一个VR模块,希望能够将其作为资产包导入到我的任何统一项目中。此程序包需要定义Vive控制器按钮的输入才能在游戏过程中将其打开。我想以某种方式在项目之间共享此动作集和按钮绑定,因此不必每次使用时都手动创建动作和绑定。
是否可以在项目之间共享SteamVR输入设置?特别是一个完整的输入操作集及其关联的控制器绑定。
我尝试将SteamVR_Input文件夹导出为软件包,还尝试包含SteamVR文件夹,但均无用。重新导入后,我可以在SteamVR_Input文件夹的项目文件夹中看到导入的操作集,但是它没有显示在输入窗口中(“窗口菜单”->“ SteamVr输入”)。但是,实时输入视图会在列表中显示操作,但不会注册任何按钮按下。
答案 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中可用!