【问题标题】:How to Share new SteamVR ActionSets and Bindings between Unity Projects如何在 Unity 项目之间共享新的 SteamVR 动作集和绑定
【发布时间】:2018-12-20 20:08:10
【问题描述】:

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

有没有办法在项目之间共享 SteamVR 输入设置?特别是一个完整的输入操作集,及其相关的控制器绑定。

我尝试将 SteamVR_Input 文件夹导出为一个包,也尝试包含 SteamVR 文件夹,但均未成功。重新导入后,我可以在 SteamVR_Input 文件夹的项目文件夹中看到导入的操作集,但它没有显示在输入窗口中(窗口菜单 -> SteamVr 输入)。但是,实时输入视图会显示列表中的操作,但不会记录任何按钮按下。

【问题讨论】:

  • 我遇到了同样的问题。我问蒸汽社区。如果我找到了实现它的方法,我会及时通知您。
  • 非常感谢!我很想弄清楚这一点
  • 我找到了这个!也许它会帮助你。 github.com/ValveSoftware/steamvr_unity_plugin/issues/161
  • 你为什么不发布一个答案,这样你就可以得到信用!
  • 好的,我几乎可以正常工作了。当我这样做时会发布答案。

标签: unity3d input htc-vive steamvr


【解决方案1】:

更新 Unity 2019.2:

这似乎现在已修复。

  1. 在源项目中,进入 SteamVR 输入窗口,点击高级。
  2. 创建部分绑定文件夹。将其重命名为您想要的名称。请注意,它会自动添加 SteamVR_ 前缀。所以我的默认名称一开始就有 SteamVR_SteamVR_。我需要删除建议的名称,并将其命名为我的项目名称。
  3. 它会在项目的基础文件夹中创建它,而不是出于某种原因在资产文件夹中。
  4. 在 Windows 资源管理器中,将其拖到源项目的 Assets 文件夹中。
  5. 在 Unity 编辑器(源项目)中,它现在应该提示您导入设置,但它检测到这些操作已经存在。点击合并。
  6. 确保您的操作集仍在 SteamVR 输入窗口中。
  7. 现在您可以从此文件夹中导出 unitypackage。
  8. 现在您可以在目标项目中导入unitypackage,导入后会提示您加载动作!耶。

注意:如果在创建后重命名部分绑定文件夹,我会遇到问题。它不再将其识别为操作,也不会提示导入。要重命名部分绑定文件夹,您需要重新创建它并再次按照上述步骤操作。

旧答案(过时):

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

好的,我得到了这个工作。据我所知,创建一个包含绑定和操作的 unitypackage 仍然不太可能,但它比以前好多了。

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

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

转到窗口菜单 > SteamVR 输入

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

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

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

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

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

瞧!它应该工作。 我还没有让它能够被打包到一个资产包中。

【讨论】:

    【解决方案2】:

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

    在项目 1 中:

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

    替换默认绑定

    这样做的结果是您的绑定完全保存在

    资产/流媒体资产/SteamVR

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

    顺便说一句,如果您想在独立构建中使用绑定,这也是必需的

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

    到那时,您的绑定在 project2 中可用!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-13
      • 1970-01-01
      • 2017-03-07
      相关资源
      最近更新 更多