我正在为霍洛伦斯的一个Unity项目工作,该项目使用相机捕获图片,将它们发送到照片识别API并显示结果。该项目的统一性非常好,但在模拟器/霍洛伦斯上不行。
不幸的是,我一次写了很多代码,所以我不知道这个问题在什么时候开始。在构建项目并在调试模式下在HoloLens/Emulator上运行该问题之后,问题节目即将出现。在HoloLens上,我看到了启动窗口(打开任何应用程序后您看到的窗口)。将其放置后,我在Visual Studio的输出窗口上看到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)
正如您所看到的那样,我什至尝试直接登录相机的尺寸以确保(Debug.Log(Camera.main.pixelWidth + ", " + Camera.main.pixelHeight)
),并且可以肯定的是,它们是Hololens/emulator上的(0,0)。p>我确保支持网络摄像头,并且我的相机设置都设置了,但这也没有帮助。
所以我不确定这是问题的原因还是症状。而且我无法在任何地方开始,因为输出和错误窗口都没有显示出任何错误。任何帮助或建议将不胜感激。
感谢您的阅读!
编辑:这是从头到尾的整个输出日志。
edit2:我不知道这是否重要,但是如果我暂停执行(在Visual Studio中),它似乎总是在build/projectName/app.css.css =>第78:
[MTAThread]
static void Main(string[] args)
{
var app = new App();
CoreApplication.Run(app); //<===== Here
}
您可能需要检查任何start()方法。您可能有一些CPU密集的代码。即使它的团结顺利运行,也不意味着它会在HoloLens上轻松运行,因为他们的CPU不强大。
,为避免任何相机问题,让SUR从此使用相机预制存储库: https://github.com/microsoft/mixedrealitytoolkit-unity
这些只是一些想法,希望它有帮助!
事实证明,在玩家的其他设置下,我没有启用"支持"的"虚拟现实"。真的很愚蠢,但我希望这对某人有帮助。