离散仿真引擎基础

离散仿真引擎基础

1、解释 游戏对象(GameObjects) 和 资源(Assets)的区别与联系。
  • 对象:对象直接出现在游戏场景中,是资源整合的具体表现,对象一般有玩家,敌人,游戏场景,摄像机等虚拟父类,这些父类没有实例化,而他们的子类实例化并包含了这些游戏对象,我们可以对这些对象进行操作。
  • 资源:资源可以是我们自定义或下载下来的素材,可以被多个对象使用,有些资源可以做为模板并实例化为对象。资源文件夹(Asset)通常包含脚本,预设,场景,声音等。
2、下载几个游戏案例,分别总结资源、对象组织的结构(指资源的目录组织结构与游戏对象树的层次结构)
  • 资源的目录组织结构:
    主要包括动画,文本,场景,素材,模型,预设以及使用说明等。
  • 游戏对象树的层次结构:
    主要包括摄像机包,游戏开始位置,场景布局以及文本管理等。
3、编写一个代码,使用 debug 语句来验证 MonoBehaviour 基本行为或事件触发的条件
  • 基本行为包括 Awake() Start() Update() FixedUpdate() LateUpdate()
  • 常用事件包括 OnGUI() OnDisable() OnEnable()
public class firstTry : 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");
    }
}
4、查找脚本手册,了解 GameObject,Transform,Component 对象

分别翻译官方对三个对象的描述(Description)
GameObject:
GameObjects are the fundamental objects in Unity that represent characters, props and scenery.
游戏对象是在 Unity 中代表任务,道具和场景的基础对象

Transform:
The Transform component determines the Position, Rotation, and Scale of each object in the scene.
变化组件决定了场景中游戏对象的位置,大小和旋转关系。

Component:
Components are the nuts & bolts of objects and behaviors in a game.
组件是游戏对象和其对应行为之间的枢纽。

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

  • table 对象(实体)的属性:
    layer : Default
    tag : Untagged
    table 的 Transform 的属性
  • Position: (0, 0, 0)
    Rotation: (0, 0, 0)
    Scale : (1, 1, 1)
    table 的 部件
  • Transform
    Mesh Renderer
    Box Collider

用 UML 图描述 三者的关系( UMLet 14.1.1 stand-alone版本):
在这里插入图片描述

5、资源预设(Prefabs)与 对象克隆 (clone)
  • 预设(Prefabs)有什么好处?
    1、使对象和资源能够重复利用。
    2、相同的游戏对象可以用同一个预制创建。
    3、对预设进行修改后,所有使用该预设的游戏对象都会发生改变。

    预设资源完整储存了对象的组件和属性,相当于模板,能够方便我们创建相同的游戏对象并赋予他们相同的行为,比如用一块砖来建造一面墙,用一颗小草创建一片草原。

  • 预设与对象克隆 (clone or copy or Instantiate of Unity Object) 关系?
    1、克隆游戏对象需要场景中有被克隆对象,而创建预制只需事先创建预制即可,场景中一开始可以不存在该游戏对象。
    2、克隆出来的游戏对象并不会随着被克隆体的变化而发生变化,但是使用预制创建出来的对象会随着预制的改变而发生改变。

  • 制作 table 预制,写一段代码将 table 预制资源实例化成游戏对象

public class NewBehaviourScript : MonoBehaviour {
    private string prePath = "prefabs/table";
    void Start () {
        GameObject Table =Instantiate(Resource.Load(prePath), new Vector(0,0 ,4), Quaternion.identity) as GameObject;
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值