2017-09-01 2 views
0

Je travaille sur un projet Unity pour Hololens, qui utilise la caméra pour capturer des images, les envoyer à une API de reconnaissance de photos et affiche le résultat. Le projet fonctionne parfaitement bien dans l'unité, mais pas sur l'émulateur/Hololens.Hololens application s'arrêtant à l'écran de démarrage

Malheureusement, j'ai écrit beaucoup de code à la fois, donc je ne sais pas à quel moment ce problème a commencé. Le problème apparait après la construction du projet et son exécution sur Hololens/émulateur en mode Debug. Sur les Hololens, je vois la fenêtre de départ (celle que vous voyez après avoir ouvert une application). Après je l'ai placé, je vois End showing splash screen. dans la fenêtre de sortie dans Visual Studio, et il ne va pas plus loin (mais ne gèle pas non plus, ne fait rien).

Je ne sais pas d'où ça vient, car aucune exception n'est levée, mais je suppose que la caméra est la cause. Plus tôt, je devais commenter cette ligne de code:

transform.position = Camera.main.ScreenToWorldPoint(new Vector3((CameraManager.Resolution.width * .5f), (CameraManager.Resolution.height * .5f), 10)); 

parce que la fonction ScreenToWorldPoint jetais l'exception suivante:

Screen position out of view frustum (screen pos 0.000000, 0.000000, 10.000000) (Camera rect 0 0 0 0) 

Comme vous le voyez, il dit que la taille de l'rect de l'appareil photo est 0. J'ai même essayé directement la journalisation des dimensions de la caméra pour s'assurer (Debug.Log(Camera.main.pixelWidth + ", " + Camera.main.pixelHeight)), et bien sûr, ils étaient (0, 0) sur l'Hololens/émulateur.

J'ai vérifié que la webcam est prise en charge et que les paramètres de mon appareil photo sont tous définis, mais cela n'a pas aidé non plus. Donc, je ne suis pas sûr si c'est la cause du problème ou simplement un symptôme. Et je ne peux pas commencer n'importe où puisque ni la fenêtre de sortie ni l'erreur ne montrent rien de mal. Toute aide ou suggestion serait grandement appréciée.

Merci d'avoir lu!

Editez: Here's le journal de sortie complet du début à la fin.

Edit2: Je ne sais pas si cela est important, mais si je me suis arrêté l'exécution (dans Visual Studio), il semble toujours être à Construire/ProjectName/App.css => Ligne 78:

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

Répondre

0

Il s'avère que je n'ai pas activé "Virtual Reality Supported" sous Autres paramètres dans PlayerSettings. C'est vraiment bête, mais j'espère que cela aidera quelqu'un.

1

Vous voudrez peut-être vérifier l'une de vos méthodes Start(). Vous pourriez avoir du code qui consomme beaucoup de ressources CPU. Même si cela fonctionne bien dans Unity, cela ne veut pas dire qu'il fonctionnera facilement sur HoloLens puisque son processeur n'est pas puissant.

En outre, pour éviter tout problème de l'appareil photo, assurez-vous d'utiliser sur l'appareil photo à partir de prefab ce référentiel : https://github.com/Microsoft/MixedRealityToolkit-Unity

Ce ne sont que quelques réflexions, espère que ça aide!

+0

Merci pour la réponse! Malheureusement, cela n'a pas fonctionné; La plupart des méthodes Start() sont parfaitement normales, et j'utilise déjà le préfabriqué de la caméra. –

+1

Oh je suis content que vous ayez trouvé le problème! – rmTheZ