【问题标题】:Main Camera Referenced script is missing缺少主摄像机引用脚本
【发布时间】:2019-10-16 22:11:24
【问题描述】:

我知道,关于这个错误总是有很多问题,但是我没有成功地用以前的答案解决它......

所以,请让我解释一下。

我正在使用 Hololens 技术。最近,我从 HoloToolKit 更新到了 MRTK V2(微软和社区提供的新 SDK)。我的应用与 HoloToolKit、Unity 和 2017.4 配合使用。我更新了 MRTKv2 和 2019.2(推荐)。

我有一些使用相机位置的脚本。在我之前的应用程序中,Camera 是 BiCamera (GameObject),Basic (GameObject) 的子级。我的 BiCamera 被标记为 MainCamera。现在,我的相机是 Main Camera(两个单词之间有一个空格),标记为 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 )。

另一个选项与 MRTK 提供的 GameObject Main Camera 相关联,因为当我选择此 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; }

在 void 开始:

 Cam = Camera.main;

非常感谢

【问题讨论】:

    标签: mrtk


    【解决方案1】:

    我自己解决了(只需删除组件)。看来这对我的场景没有影响......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-02
      • 1970-01-01
      • 2015-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多