缺少主摄像机引用脚本



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

所以,请让我解释一下。

最近,我从HoloToolKit更新到MRTK V2(Microsoft和社区提供的新SDK(。我的应用程序适用于HoloToolKit,Unity和2017.4。我针对 MRTKv2 和 2019.2(推荐(进行了更新。

我有一些使用相机位置的脚本。在我以前的应用程序中,相机是BiCamera(游戏对象(,Basic(游戏对象(的子级。我的BiCamera被标记为MainCamera。现在,我的相机是主相机(2个单词之间有一个空格(,标记为MainCamera,Mixed RealityPlayspace的孩子。此相机由 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 来计算步行速度(实际上不是直接的,他从另一个游戏对象中找到公共变量,但这个游戏对象需要 Camera.transform(。

另一个选项与 MRTK 提供的游戏对象主相机链接,因为当我选择此游戏对象时,缺少脚本。一条消息说我必须修复编译错误...但也许这是一个结果,而不是起源......我迷路了。

文本速度用户界面.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 调用公共 DataManager dm;

在我的 DataManager.cs 脚本中,我在开头调用:

public Camera Cam { get; private set; }

在空白中开始:

Cam = Camera.main;

多谢

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

最新更新