离散仿真引擎基础简单题

解释 游戏对象(GameObjects) 和 资源(Assets)的区别与联系。

对象一般有玩家,敌人,游戏场景,摄像机等虚拟父类,这些父类没有实例化,而他们的子类实例化并包含了这些游戏对象,我们可以对这些对象进行操作。
资源可以是我们自定义或下载下来的素材,可以被多个对象使用,有些资源可以做为模板并实例化为对象。资源文件夹(Asset)通常包含脚本,预设,场景,声音等。
 

下载几个游戏案例,分别总结资源、对象组织的结构(指资源的目录组织结构与游戏对象树的层次结构)

资源的目录组织结构: 

主要包括动画,文本,场景,素材,模型,预设以及使用说明等。

游戏对象树的层次结构: 

主要包括摄像机包,游戏开始位置,场景布局以及文本管理等。

 

编写一个代码,使用 debug 语句来验证 MonoBehaviour 基本行为或事件触发的条件

基本行为包括 Awake() Start() Update() FixedUpdate() LateUpdate()

常用事件包括 OnGUI() OnDisable() OnEnable()

public class hw : MonoBehaviour {
    
    void Awake(){
        Debug.Log ("onAwake");
    }
    void Start () {
        Debug.Log ("onStart");
    }
    void Update () {
        Debug.Log ("onUpdate");
    }

    void FixedUpdate(){
        Debug.Log ("onFixedUpdate");
    }
    void LateUpdate(){
        Debug.Log ("onLateUpdate");
    }
    void OnGUI(){
        Debug.Log ("onGUI");
    }
    void OnDisable()
    {
        Debug.Log ("onDisable");
    }
    void OnEnable(){
        Debug.Log ("onEnable");
    }
}

查找脚本手册,了解 GameObject,Transform,Component 对象

  • 分别翻译官方对三个对象的描述(Description)

(1)GameObject:Unity场景里面所有实体的基类;
(2)Transform:一个对象的位置、旋转和变换大小;
(3)Component:所有附加到游戏对象的基类。

  • 描述下图中 table 对象(实体)的属性、table 的 Transform 的属性、 table 的部件

table的属性:activeInHierarchy,ObjectName,activeSelf,Tag,Layer,prefabs
transform的属性:Position,Rotation,Scale
table的部件:Mesh Filter,Box Collider,Mesh Renderer
 

  • 用 UML 图描述 三者的关系(请使用 UMLet 14.1.1 stand-alone版本出图)

 

资源预设(Prefabs)与 对象克隆 (clone)

  • 预设(Prefabs)有什么好处?

预设相当于一个对象的模板,当某个对象需要重复出现时,用预设可以提高效率,方便管理。预设使得修改的复杂度降低,一旦需要修改所有相同属性的对象,只需要修改预设即可,所有通过预设实例化的对象都会做出相应变化。

  • 预设与对象克隆 (clone or copy or Instantiate of Unity Object) 关系?

预设与克隆都能创建出相同的对象。但是,修改预设会使通过预设实例化的所有对象都做出相应变化,而对象克隆本体和克隆出的对象是不相影响的。

  • 制作 table 预制,写一段代码将 table 预制资源实例化成游戏对象
GameObject prefab = (GameObject)Instantiate (prefab1);

编程实践,小游戏

  • 游戏内容: 井字棋 或 贷款计算器 或 简单计算器 等等
  • 技术限制: 仅允许使用 IMGUI 构建 UI
  • 作业目的:
    • 了解 OnGUI() 事件,提升 debug 能力
    • 提升阅读 API 文档能力

作业:https://github.com/uovian/3dgame1-/blob/master/VIDEO

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值