3D游戏(2)——离散仿真引擎基础

本文介绍了3D游戏开发中的离散仿真引擎基础,包括游戏对象(GameObjects)与资源(Assets)的区别与联系,资源的目录结构,MonoBehaviour的行为与事件触发,以及Prefab与对象克隆的概念。通过分析游戏案例,详细讲解了GameObject、Transform和Component对象,并通过编写代码验证了这些概念。此外,还实践了简易井字棋小游戏的编程,讨论了模板方法模式和组合模式在游戏对象设计中的应用。
摘要由CSDN通过智能技术生成


1、简答题

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

区别:游戏对象通常都是直接出现在场景中,一般有玩家、敌人、以及环境和音乐等,是具有一定属性与功能的事物的实体化,简单来说就是在游戏过程中承担一部分职能并携带一定属性的组件。而资源则是由我们预先准备好的素材,例如3D模型、音频文件,图像,脚本或Unity支持的任何其他类型的文件,在创作游戏的时候可以直接迁移、重复使用。

联系:游戏对象是资源整合的具体表现,资源可以被一个或多个游戏对象使用,有些资源作为模板,可实例化成游戏中具体的对象。而游戏对象同样也可以被保存为资源以重复使用。

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

首先从爱给网下载游戏源码。

在这里插入图片描述

首先下载了一个天天酷跑,这游戏在当年也是火爆了好一段时间的了。

在这里插入图片描述

资源文件目录当中包括动画(Animations)、预制(Prefabs)、脚本(Scripts)。

在这里插入图片描述

同时游戏对象也就只有主摄像机(Main Camera)、玩家(Player)、背景(BG)、画布(Canvas)、事件系统(EventSystem)、游戏管理器(GameManager)。因为只是一个2D的游戏,因而大致地在设置好玩家动作的基础上,再对背景跟画布做做更改就差不多了。

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

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

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

    // Start is called before the first frame update
    void Start()
    {
        Debug.Log("Start");
    }

    // Update is called once per frame
    void Update()
    {
        Debug.Log("Update");
    }

    private void Awake()
    {
        Debug.Log("Awake");
    }

    private void FixedUpdate()
    {
        Debug.Log("FixedUpdate");
    }

    private void LateUpdate()
    {
        Debug.Log("LateUpdate");
    }

    private void OnGUI()
    {
        Debug.Log("OnGUI");
    }

    private void OnDisable()
    {
        Debug.Log("OnDisable");
    }

    private void OnEnable()
    {
        Debug.Log("OnEnable");
    }

运行结果:

在这里插入图片描述

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

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

GameObject:Unity Scenes中所有实体的基类。

Transform:对象的位置,旋转和比例。场景中的每个对象都有一个变换。它用于存储和操纵对象的位置,旋转和比例。每个变换都可以有一个父级,它允许您分层应用位置,旋转和缩放。这是在“层次结构”窗格中看到的层次结构。同时它们还支持枚举器。

Component:所有附加到GameObject的部件的基类。

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值