Сценарий основной камеры отсутствует - PullRequest
0 голосов
/ 13 октября 2019

Я знаю, всегда есть много вопросов об этой ошибке, НО мне не удалось исправить ее с помощью предыдущих ответов ...

Итак, пожалуйста, позвольте мне объяснить.

Я работаю с техникой Хололенса. Недавно я обновился с HoloToolKit до MRTK V2 (новый SDK, предоставленный Microsoft и сообществом). Мое приложение работало с HoloToolKit, Unity и 2017.4. Я обновил для MRTKv2 и 2019.2 (рекомендуется).

У меня есть несколько сценариев, которые используют положение камеры. В моем предыдущем приложении Camera была BiCamera (GameObject), потомок Basic (GameObject). А моя бикамера была помечена как мейкамера. Прямо сейчас моей камерой была основная камера (с пробелом между двумя словами), помеченная как MainCamera, потомок MixedRealityPlayspace. Эта камера предоставлена ​​MRTKv2. Я не могу изменить настройки.

Итак, когда я нахожусь в режиме воспроизведения, у меня появляется это сообщение желтым цветом:

 The referenced script on this Behaviour (Game Object 'Main Camera') is missing!

И когда я перемещаю основную камеру, чтобыимитировать прогулку пользователя (Hololens = дополненная реальность), у меня есть это сообщение красным цветом:

 NullReferenceException: Object reference not set to an instance of an object
 TextSpeedUI.Update () (at Assets/Scripts/TextSpeedUI.cs:23) 

Я думаю, что второе сообщение связано с первым ... Мой скрипт TextSpeedUI нуждается в camera.transformдля вычисления скорости ходьбы (на самом деле не напрямую, он находит общедоступную переменную из другого GameObject, но этот GameObject требует Camera.transform).

Другой параметр связан с основной камерой GameObject, предоставленной MRTK, потому что, когда явыберите этот GameObject У меня отсутствует скрипт. В сообщении говорится, что я должен исправить ошибки компиляции ... Но, возможно, это следствие, а не происхождение ... Я заблудился.

TextSpeedUI.cs 23

 if (sd.isActiveAndEnabled && sd.Steps.Count > 4)
 {
     xzSpeed = (sd.Steps[sd.Steps.Count - 1].localMinPosition - sd.Steps[sd.Steps.Count - 4].localMinPosition) / ((sd.Steps[sd.Steps.Count - 1].t - sd.Steps[sd.Steps.Count - 4].t));
     txt.text = (xzSpeed.magnitude * 3.6).ToString("0.##"); // speed in km/h
 }

sd приходитот публичного StepDetector sd;который находится в начале моего сценария TextSpeedUI.cs

И мой сценарий StepDetector.cs вызывает public DataManager dm;

В моем сценарии DataManager.cs я вызываю в начале:

 public Camera Cam { get; private set; }

И в пустоте Начало:

 Cam = Camera.main;

Большое спасибо

1 Ответ

0 голосов
/ 16 октября 2019

Я решил сам (просто удалите компонент). Похоже, это не имеет значения на моей сцене ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...