1.解释对象与资源的区别与联系,根据官方案例,分别总结资源和对象组织的规则/规律。
答:在显式支持面向对象的语言中,”对象”一般是指类在内存中装载的实例,具有相关的成员变量和成员函数(也称为方法)。对象一般都是直接体现于游戏的场景中,整合了各种游戏的资源。对象一般指游戏中玩家、队友、敌人、周围生物、环境事物、摄像机和音乐等虚拟父类,这些父节点本身没有实体,但它们的子类真正包含了游戏中会出现的对象。而资源文件夹通常有对象、材质、场景、声音、预设、贴图、脚本、动作,在这些文件夹下可以继续进行划分。资源可以被多个对象使用。有些资源作为模板,可实例化成游戏中具体的对象。
2.编写简单程序代码,逐一验证 MonoBehaviour 基本行为触发的条件。
答:验证如下:
(1)当一个脚本实例被载入时Awake被调用。
(2)Start仅在Update函数第一次被调用前调用。
(3)当MonoBehaviour启用时,其Update在每一帧被调用。
(4)渲染和处理GUI事件时调用OnGUI。
(5)当MonoBehaviour启用时,其 FixedUpdate 在每一帧被调用。
(6)当Behaviour启用时,其LateUpdate在每一帧被调用。
(7)Reset,重置为默认值。
(8)当对象变为不可用或非激活状态时OnDisable函数被调用。
(9)当MonoBehaviour将被销毁时,OnDestory函数被调用。
3.通过官方参考手册,查找 GameObject,Transform,Component 对象,简单解释三者之间的关系。(使用UMLet 画教程上图)
答:GameObject是Unity场景里面所有实体的基类.Transform附加到GameObject(游戏物体)(如无附加则为空)。Component是一切附加到游戏物体的基类。因此,GameObject中包含了Component,而Transform属于Component的一种。GameObject必定包含一个Transform组件,也可能包含其它Component。
4.整理官方和其他学习材料,介绍如何用程序(代码)管理一个场景的游戏对象树林。编写简单代码验证以下技术的实现:
(1)查找对象
(2)添加子对象
(3)遍历对象树
(4)清除所有子对象
答: (1)查找对象:Unity中常用到查找对象,非隐藏的、隐藏的&