目录
1.对象未激活
①对象在运行前没有被激活unity 实例化预制物体,所以在运行过程中找不到对象;
②对象在运行时被脚本控件停用,所以使用时找不到对象。
2. 对象的父、祖父...未激活
在Unity中硬件设备,如果一个对象的父对象没有被激活,那么它的所有子对象都找不到。
同样,这种情况也会导致在运行时找不到对象。
尤其是在使用 GameObject.Find() 函数全局查找 GameObject 时。
3.没有挂载脚本
从 MonoBehaviour 继承的脚本不会附加到层次结构面板上的任何游戏对象。
这样的话,脚本中的Awake()、Start()、Update()脚本就不会被执行unity 实例化预制物体创作人,自然也就找不到需要的对象了。
4.溯源
对于不继承自MonoBehaviour的脚本,需要检查调用该脚本的源脚本是否正在运行(即挂载到Hierarchy面板上的某个对象,并激活其脚本组件)
5.资源加载失败
脚本中使用了Resources.Load()函数,但是它指向的路径中没有对应的东西。
查看Assets文件夹下的Resources文件夹中是否有对应加载的资源。
6. 变量没有赋初值
变量只定义了,没有赋值。
public Vector3 vec = new Vector3(0,0,0);
public string[] strs = new string[5];
int index = 0;
float ff = 0.0f;