Hololens应用程序在启动画面停止

时间:2017-09-01 14:44:13

标签: camera hololens

我正在为Hololens开发Unity项目,该项目使用相机捕捉图片,将它们发送到照片识别API并显示结果。该项目在统一性方面完美无缺,但在仿真器/ Hololens上无效。

不幸的是,我一次写了很多代码,所以我不知道这个问题从什么时候开始。在构建项目并在调试模式下在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)

正如你所看到的那样,相机矩形的大小为0.我甚至尝试直接记录相机的尺寸以确保(Debug.Log(Camera.main.pixelWidth + ", " + Camera.main.pixelHeight)),当然,它们在Hololens上是(0,0)/仿真器。

我确保支持网络摄像头,并且我的相机设置都已设置,但这也无济于事。

所以我不确定这是问题的原因还是仅仅是症状。而且我无法在任何地方启动,因为输出和错误窗口都没有显示任何错误。任何帮助或建议将不胜感激。

感谢阅读!

从头到尾编辑:Here's整个输出日志。

Edit2:我不知道这是否有意义,但如果我暂停执行(在Visual Studio中),它似乎总是在Build / ProjectName / App.css =>第78行:

[MTAThread]
static void Main(string[] args)
{
   var app = new App();
   CoreApplication.Run(app); //<===== Here
}

2 个答案:

答案 0 :(得分:1)

您可能想要检查任何Start()方法。您可能有一些CPU密集型的代码。即使它在Unity中运行顺畅,也不意味着它可以在HoloLens上轻松运行,因为它们的CPU功能不强。

另外,为了避免任何相机问题,请使用相机预制件 存储库: 的 https://github.com/Microsoft/MixedRealityToolkit-Unity

这些只是一些想法,希望它有所帮助!

答案 1 :(得分:0)

原来我没有在PlayerSettings中的其他设置下启用“Virtual Reality Supported”。这真的很蠢,但我希望这有助于某人。