Background:
I am developing an application for HoloLens 2 using Unity 2022.3.30f1, and I need to use the `Windows. Media` API to capture depth and image data from the HoloLens Research Mode. My project is set up to use Universal Windows Platform (UWP) as the target platform, and I have the `Mixed Reality Toolkit (MRTK) Foundation 2.8.3` and `MRTK OpenXR Plugin 1.10.1` installed.
When I try to use the Windows namespace in my script, I encounter the following error in Unity:
找不到类型或命名空间名称“Windows”(您是否缺少 using 指令或程序集引用?)
Steps Taken:
已安装通用 Windows 平台工作负载:我确保在 Visual Studio 中安装了“通用 Windows 平台开发”工作负载。
切换平台:将目标平台切换为Unity中的UWP。
API 兼容级别:将 API 兼容级别设置为 .NET Standard 2.1。
添加了引用:在 5) Unity 项目中添加了对 Windows.winmd 和 System.Runtime.WindowsRuntime.dll 的引用:
来自 C:\Program Files (x86)\Windows Kits\UnionMetadata
的 Windows.winmd
System.Runtime.WindowsRuntime.dll 来自 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETPortable 4.6
问题:
1 - 我是否错过了解决此问题所需的任何步骤或配置? 2 - 是否需要特定设置或额外步骤才能使 Unity 识别 Windows 命名空间? 3 - 是否有更好的方法将 Windows.Media API 集成到针对 HoloLens 2 的 Unity 项目中? 附加背景:
Unity版本:2022.3.30f1 Visual Studio:2019/2022,安装了 UWP 工作负载 HoloLens SDK:已安装 脚本后端:IL2CPP 目标设备:HoloLens 2 任何见解或建议将不胜感激!.png)
您应该在 ENABLE_WINMD_SUPPORT 编译器指令中封装任何使用 WinRT 的代码,以便在针对 UWP 进行编译时仅使用某些代码。更多详情请参阅:
https://docs.unity3d.com/Manual/IL2CPP-WindowsRuntimeSupport.html