我正在开发基于MixedRealityToolkit v2的多人游戏应用程序。为了测试网络系统,我需要进行一些构建以启动客户端和服务器,并且我想在同一台计算机上执行此操作,而不必使用真实的设备(或仿真器)。问题是Input Simulation Service仅在Unity编辑器中工作,这意味着我不能在同一台计算机上测试多个客户端。此外,要使用真实设备(HoloLens或Windows Mixed Reality Headset),我必须构建一个UWP应用,这比构建WindowsStandalone的过程要慢得多。
是否有一种方法可以强制MRTKv2在内部版本(可能是WindowsStandalone内部版本)中使用Input Simulation Service?
在此先感谢您,任何人都会尝试帮助我!
答案 0 :(得分:0)
输入模拟主要用于编辑器,当前不支持在编辑器之外使用输入模拟。
话虽如此,我可以看到您所描述的独立使用它的价值。我已经尝试在所有平台上启用该服务,这并不难(见下文)。
主要表现是从JSON文件中加载了清晰的手势,这些文件是使用MixedRealityToolkitFiles实用程序进行搜索的,该实用程序仅在编辑器版本中有效。没有这个,动画手的数据就会丢失。
为完整起见,我在下面列出了我尝试的步骤。也许您可以提出一个独立于平台的解决方案来加载这些文件。
编辑
Assets\MixedRealityToolkit.Services\InputSimulation\MixedRealityToolkit.Services.InputSimulation.asmdef
删除"includePlatforms"
中的所有条目。这将包括所有构建中的输入仿真程序集。
将Assets\MixedRealityToolkit.Services\InputSimulation\Editor\InputSimulationService.cs
下移一个级别到Assets\MixedRealityToolkit.Services\InputSimulation\
中(Editor
程序集需要UnityEditor特定的代码)。
这可能会破坏配置文件中的服务条目。选择MixedRealityToolkit对象,然后在检查器中转到输入>输入数据提供程序>输入模拟服务。然后点击“尝试修复”按钮或手动选择正确的服务类型。
这时,输入模拟仍将在编辑器中工作,但是当您尝试构建它时,将出现一个错误,即找不到LoadGesturePoses
函数。此功能位于Assets/MixedRealityToolkit/Definitions/Utilities/ArticulatedHandPose.cs
中。请注意#if UNITY_EDITOR
部分。删除#if将会抱怨找不到找到的MixedRealityToolkitFiles类,该类也在编辑器程序集中。
答案 1 :(得分:0)
我为MixedRealityToolkit创建了一个替代的Input Simulation Service,它试图模拟一个VR系统。该服务在编辑器和Win32版本中均可使用。
由于这是一项非常快速的工作,因此并非没有错误,但应该可以用于测试。
https://github.com/DamianoOriti/MRTK-Custom-Input-Simulation-Service
答案 2 :(得分:0)
感谢您的反馈
MRTK正在通过以下PR https://github.com/microsoft/MixedRealityToolkit-Unity/pull/7018
解决此问题