1.
简答题
[Q]
解释 游戏对象(GameObjects
)和 资源(Assets
)的区别与联系。- 区别:
- 游戏对象 是
Unity
中的基本对象(游戏中的每个对象都是游戏对象),可以表现为人物、道具、场景等等。它们本身并不能完成很多工作,但它们的主要作用就是充当组件(Components
)的容器,并以它们的功能性来搭建自己本身物体的属性(Properties
)。 - 资源 表示你在项目中可能用到的任何东西,常见的资源是以可见文件形式存在的,比如建模文件、音频文件、图像文件等等。
- 游戏对象 是
- 联系:
- 资源可以作为模板,实例化成具体的游戏对象,也可以作为游戏对象中的某种属性,同时也可以被多个游戏对象同时使用。
- 区别:
-
[Q]
下载几个游戏案例,分别总结资源、对象组织的结构(指 资源的目录组织结构 与 游戏对象树的层次结构)- 下载的官方学习案例主要有
Creater Kit: FPS
、Creater Kit: Puzzle
、Karting Microgame
(但不知道什么原因只有一两个能够打开),其中结构比较鲜明的例子是这个初学者学习案例Karting Microgame
: - 资源的目录组织结构:
- 总结:资源组织结构一般包括
Animation(动画)
、Prefab(预制)
、Scene(场景)
、Scripts(脚本)
等等,根据资源本身的类别构建了许多不同的文件夹来存放,从而使得项目的资源能够很方便管理并且完善与拓展。
- 总结:资源组织结构一般包括
- 游戏对象树的层次结构:
- 总结:游戏组织结构一般包含
Camera(摄像头)
、Background(背景)
、Light(灯光)
和一些自定义对象等等;除此之外,特定游戏也会有专门定制的时间线、事件机制等等管理游戏组织。
- 总结:游戏组织结构一般包含
- 下载的官方学习案例主要有
-
[Q]
编写一个代码,使用debug
语句来验证MonoBehaviour
基本行为或事件触发的条件- 基本行为包括
Awake()
Start()
Update()
FixedUpdate()
LateUpdate()
- 常用事件包括
OnGUI()
OnDisable()
OnEnable()
创建脚本文件
LifeCycle.cs
并填写完代码后拖动到MainCamera
对象上并Play
// LifeCycle.cs using System.Collections; using System.Collections.Generic; using UnityEngine; public class LifeCycle : MonoBehaviour { // 以下的布尔值均是为了对应方法能够只调用一次 private bool isUpdate = false; private bool isFixedUpdate = false; private bool isLateUpdate = false; private bool isOnGUI = false; // Start is called before the first frame update void Start() { Debug.Log("Start"); } // Update is called once per frame void Update() { if (!isUpdate) { Debug.Log("Update"); isUpdate = true; } } void Awake() { Debug.Log("Awake"); } void FixedUpdate() { if (!isFixedUpdate) {
- 基本行为包括