我做了一个可以在我办公室周围弹跳的球。在统一中,它完美地弹跳,但是当我在全息镜头 2 中调试项目时,球穿过地面,就好像我不认识地面一样。我应该放什么脚本才能很好地识别我的办公室?
在球中,我有一个 IsGravity 为真的“刚体”,在 SpatialMapping 中我有一个“IsKinetic”为真。
我正在尝试使用 Visual Studio 2022 通过 USB 将应用程序从 Unity 2020.3.32f1 部署到 Hololens 2。每次我尝试部署该应用程序时,它都会在开始加载到 Hololens 中之前通过 Visual Studio 正确构建和部署,然后它会卡在 4 个旋转球体上并保留在这里,直到我打开开始菜单并单击主页。
我尝试按照此处定义的流程构建一个应用程序https://learn.microsoft.com/en-us/learn/paths/beginner-hololens-2-tutorials/但最终仍然陷入尝试无休止地加载 4 应用程序的境地旋转的白色球体。
我正在使用从混合现实功能工具 Unity 2022.3.32f1 Visual Studio 2022 安装的 MRTK 2.7.3 和混合现实 OpenXR 插件 1.3.1
我之前使用的项目使用 MRTK 2.5.1、Unity 2019.4.28f1、Visual Studio 2022,没有 OpenXR,所有相同的设置都可以完美运行。
以下是我正在使用的构建和播放器设置
unity-game-engine hololens windows-mixed-reality mrtk openxr
我正在尝试检查新的MRTK(V2),但是在构建时遇到了麻烦,首先是在Unity上,这使我下载了Windows SDK 18362,现在我试图在Visual Studio 2017上继续构建以进行测试但这给我带来了这个错误:
要部署此应用程序,您的部署目标应运行Windows Universal Runtime版本10.0.18362.0或更高版本。您当前正在运行版本10.0.17134.80。请更新您的操作系统,或将部署目标更改为具有适当版本的设备。
我的Windows 10操作系统是10.0.18632.30,但我的HoloLens在10.0.17763.380上,即使启用Windows Insider,它似乎也不会更新到更高版本。
我希望在我的HoloLens 1上测试MRTK(V2)的预制演示。在Visual Studio上的构建不会因版本不兼容的错误而通过。
我正在 Unity 中为 Hololens 1 开发一个应用程序,当使用 Holographic Remote 时,它在设备上运行得非常好。但是,每当我通过 Visual Studio 构建和部署应用程序时,它只会在 Hololens 上以 2D 模式启动(作为可以在空间中定位的平面“窗口”)。什么设置控制这种行为?
HL 和我的桌面上都打开了开发人员模式。在 Unity 中勾选了虚拟现实支持,将混合现实 SDK 添加到列表中,并且构建设置位于 x86 / D3D 项目上。
我尝试用 MRTK 中的一个示例替换我的场景,但无济于事。奇怪的是,如果我创建一个干净的新项目,除了其中的 MRTK 示例之外什么都没有部署正确,所以我的项目中肯定有一些东西在干扰。我就是想不通是什么。
预期的行为是应用程序以“房间比例”模式启动,即所有其他应用程序都消失了,并且可以以 3D 方式查看我场景中的对象。
编辑:这已被标记为可能重复。然而,那里给出的答案并不能解决我的问题。我已经确保在 XR 设置中勾选了“支持虚拟现实”,并将 SDK 添加到列表中。我不认为我有 Windows Insider 预览版,但由于我能够完美地部署一个新项目,我认为这不是问题所在......
我尝试在光标运行时通过脚本更改颜色,效果达到 75%:
\n
\nMesh_top是唯一不改变颜色的部分,我不知道为什么。\n所有 4 个部分都使用相同的材料,名为“ cursormaterial”。\n我尝试过:
cursormaterialSkinnedMeshRendererProptertyBlock
在所有三种情况下我都得到了相同的结果。唯一有效的是在点击播放之前我可以更改颜色,这将更改整个光标的颜色。在运行时更改它仅适用于 4 个部分中的 3 个...\xc2\xb4
- 编辑 -
\n\n public SkinnedMeshRenderer cursorRendererOne, cursorRendererTwo, cursorRendererThree, cursorRendererFour;\nprivate MaterialPropertyBlock _propBlock;\npublic Material material;\n\nvoid Start()\n{\n _propBlock = new MaterialPropertyBlock();\n}\n\npublic void OnInputDown(InputEventData eventData)\n{\n if (!isActivated)\n {\n //#1\n material.color = Color.blue;\n //#2\n cursorRendererOne.sharedMaterial.color = Color.blue;\n //#3\n cursorRendererOne.GetPropertyBlock(_propBlock);\n _propBlock.SetColor("_Color", Color.blue);\n cursorRendererOne.SetPropertyBlock(_propBlock);\n cursorRendererTwo.SetPropertyBlock(_propBlock);\n cursorRendererThree.SetPropertyBlock(_propBlock);\n cursorRendererFour.SetPropertyBlock(_propBlock);\n isActivated = true;\n }\nRun Code Online (Sandbox Code Playgroud)\n\n\n 我正在使用以下工具构建 HoloLens Unity 应用程序
Unity 项目/场景配置
目标平台设置
我是如何部署的:
也许在目标平台下?MRToolkit 设置?平台设置?UWP 设置?
而且我找不到任何关于如何使用最新的 MRToolkit v2 部署到 HOLOLENS 1 设备的文档。如果你能分享一些链接,那就太好了
先感谢您。
我需要更改 VerticalLayoutGroup 的扩展方向。使用默认行为,该组将扩展到楼下。我想要的是,该小组将扩展到楼上。
本视频中描述了预期行为。(链接到 stackoverflow /sf/answers/3023503311/上的答案)
链接上的解决方案是将 LayoutGroup 旋转约 180°。现在这似乎更像是一种解决方法,因为所有孩子也必须轮换。所建议的解决方案这一个不会放弃在视频中显示的预期行为。
我将 ContentSizeFitter 添加到 LayoutGroup 中,如Unity Answers中的此链接中所述。现在 LayoutGroup 将向两个方向(楼上和楼下)扩展。
是否有任何解决方案可以在不旋转 LayoutGroup 的情况下完成所需的行为?
编辑:我还注意到旋转方法的一个缺点:来自MixedRealityToolkit的 Billboard 脚本将强制 LayoutGroup 旋转回 0°。
混合现实应用程序很快可以在三种设备上运行:HoloLens 1、Hololens 2 和沉浸式 (VR) 耳机。根据您运行应用程序的设备类型,某些行为可能会有所不同。我如何向 SDK 询问我的应用程序当前在哪种设备上运行?
这是我使用 Hololens 和 MRTK for Unity 的第一个项目。我想制作一个按钮,按下时可以重新启动玩家的体验。
我使用以下代码将按钮连接到新脚本:
SceneManager.LoadScene(SceneManager.GetActiveScene().name);
Run Code Online (Sandbox Code Playgroud)
当按下按钮时,场景似乎会重新加载,但所有 MRTK/Hololens 功能都会停止。手部和眼球追踪没有反应,我无法与全息图交互。
我知道我可以手动创建一个重置方法来移动场景中的所有对象并重置特定脚本,但我试图通过按一下按钮来完全卸载并重新加载尽可能多的 Unity 应用程序。
那么,如何在 Hololens2 上正确重新加载 Unity 场景?我仍在对此进行研究,并将更新我在这里找到的内容。我非常感谢这里的任何帮助,谢谢!
我曾尝试在Unity 2018.3.10f1上构建新MRTK版本2.0.0-RC1的场景示例,但每次出现每个示例都会出现一个构建错误,其中指出:找不到类型或名称空间名称'HandJointKind' (是否缺少using指令或程序集引用?)找不到类型或名称空间名称'HandMeshObserver'(是否缺少using指令或程序集引用?)找不到类型或名称空间名称'JointPose' (您是否缺少using指令或程序集引用?)
在哪里可以找到该命名空间的库?