Hololens 应用程序在启动画面处停止
Hololens application stopping at splash screen
我正在为 Hololens 开发一个 Unity 项目,它使用相机捕捉图片,将它们发送到照片识别 API 并显示结果。该项目在 unity 中工作得很好,但在 emulator/Hololens 上却不行。
不幸的是,我一下子写了很多代码,所以我不知道这个问题是从什么时候开始的。在调试模式下构建项目并在 Hololens/emulator 上 运行 后出现问题。在 Hololens 上,我看到开头 window(打开任何应用程序后看到的那个)。在我放置它之后,我在 Visual Studio 中的输出 window 上看到 End showing splash screen.
,它只是不再继续(但也没有冻结,只是什么都不做)。
我不知道它是从哪里来的,因为没有抛出异常,但我怀疑相机是原因。早些时候,我不得不评论这行代码:
transform.position = Camera.main.ScreenToWorldPoint(new Vector3((CameraManager.Resolution.width * .5f), (CameraManager.Resolution.height * .5f), 10));
因为函数 ScreenToWorldPoint
抛出以下异常:
Screen position out of view frustum (screen pos 0.000000, 0.000000, 10.000000) (Camera rect 0 0 0 0)
如您所见,相机矩形的大小为 0。我什至尝试直接记录相机的尺寸以确保 (Debug.Log(Camera.main.pixelWidth + ", " + Camera.main.pixelHeight)
),果然,它们在 (0, 0) Hololens/emulator.
我确定支持网络摄像头,并且我的摄像头设置都已设置,但这也没有帮助。
所以我不确定这是问题的原因还是只是一个症状。而且我无法从任何地方开始,因为输出和错误 window 都没有显示任何错误。任何帮助或建议将不胜感激。
感谢阅读!
编辑:Here's 从头到尾的整个输出日志。
Edit2:我不知道这是否重要,但如果我暂停执行(在 Visual Studio 中),它似乎总是在 Build/ProjectName/App.css =>第 78 行:
[MTAThread]
static void Main(string[] args)
{
var app = new App();
CoreApplication.Run(app); //<===== Here
}
您可能想要检查任何 Start() 方法。您可能有一些 CPU 密集的代码。即使它在 Unity 中 运行 顺利,并不意味着它会在 HoloLens 上轻松 运行 因为它们 CPU 并不强大。
此外,为避免出现任何相机问题,请务必使用此相机预制件
存储库:
https://github.com/Microsoft/MixedRealityToolkit-Unity
这些只是一些想法,希望对您有所帮助!
原来我没有在 PlayerSettings 的其他设置下启用 "Virtual Reality Supported"。这真的很愚蠢,但我希望这对某人有所帮助。
我正在为 Hololens 开发一个 Unity 项目,它使用相机捕捉图片,将它们发送到照片识别 API 并显示结果。该项目在 unity 中工作得很好,但在 emulator/Hololens 上却不行。
不幸的是,我一下子写了很多代码,所以我不知道这个问题是从什么时候开始的。在调试模式下构建项目并在 Hololens/emulator 上 运行 后出现问题。在 Hololens 上,我看到开头 window(打开任何应用程序后看到的那个)。在我放置它之后,我在 Visual Studio 中的输出 window 上看到 End showing splash screen.
,它只是不再继续(但也没有冻结,只是什么都不做)。
我不知道它是从哪里来的,因为没有抛出异常,但我怀疑相机是原因。早些时候,我不得不评论这行代码:
transform.position = Camera.main.ScreenToWorldPoint(new Vector3((CameraManager.Resolution.width * .5f), (CameraManager.Resolution.height * .5f), 10));
因为函数 ScreenToWorldPoint
抛出以下异常:
Screen position out of view frustum (screen pos 0.000000, 0.000000, 10.000000) (Camera rect 0 0 0 0)
如您所见,相机矩形的大小为 0。我什至尝试直接记录相机的尺寸以确保 (Debug.Log(Camera.main.pixelWidth + ", " + Camera.main.pixelHeight)
),果然,它们在 (0, 0) Hololens/emulator.
我确定支持网络摄像头,并且我的摄像头设置都已设置,但这也没有帮助。
所以我不确定这是问题的原因还是只是一个症状。而且我无法从任何地方开始,因为输出和错误 window 都没有显示任何错误。任何帮助或建议将不胜感激。
感谢阅读!
编辑:Here's 从头到尾的整个输出日志。
Edit2:我不知道这是否重要,但如果我暂停执行(在 Visual Studio 中),它似乎总是在 Build/ProjectName/App.css =>第 78 行:
[MTAThread]
static void Main(string[] args)
{
var app = new App();
CoreApplication.Run(app); //<===== Here
}
您可能想要检查任何 Start() 方法。您可能有一些 CPU 密集的代码。即使它在 Unity 中 运行 顺利,并不意味着它会在 HoloLens 上轻松 运行 因为它们 CPU 并不强大。
此外,为避免出现任何相机问题,请务必使用此相机预制件 存储库: https://github.com/Microsoft/MixedRealityToolkit-Unity
这些只是一些想法,希望对您有所帮助!
原来我没有在 PlayerSettings 的其他设置下启用 "Virtual Reality Supported"。这真的很愚蠢,但我希望这对某人有所帮助。