ch02离散仿真引擎基础——Unity3D学习

本文介绍了Unity3D中的游戏对象(GameObjects)和资源(Assets)的区别与联系,包括资源的目录组织结构与游戏对象树的层次结构。讨论了MonoBehaviour的行为和事件触发条件,以及GameObject、Transform和Component对象的性质。此外,探讨了预设(Prefabs)的优势、对象克隆和如何制作与实例化预设。同时,文章涉及了井字棋小游戏的编程实践和关于游戏对象设计模式的思考问题。
摘要由CSDN通过智能技术生成

ch02离散仿真引擎基础——Unity3D学习


一、简答题


1.解释游戏对象(GameObjects)和资源(Assets)的区别与联系
  • 游戏对象(GameObjects):一般为玩家,敌人,环境等
  • 资源(Assets):一般包括声音,脚本,材质等
  • 区别与联系:
    • 对象一般是一些资源的集合体
    • 资源可以被多个对象使用
    • 资源作为模版,可实例化游戏中具体的对象。


2、下载几个游戏案例,分别总结资源、对象组织的结构(指资源的目录组织结构与游戏对象树的层次结构)
  • 资源目录下有艺术材料(动画、图像)、音频、预设、场景、脚本、地形等。
  • 游戏对象有摄像机,场景,光源,起始位置等。

资源目录
资源来自:Creator Kit: FPS 工作细胞游戏
https://assetstore.unity.com/packages/templates/tutorials/creator-kit-fps-149310



3.编写一个代码,使用 debug 语句来验证 MonoBehaviour 基本行为或事件触发的条件
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class NewBehaviourScript : MonoBehaviour {

	void Awake () {
		Debug.Log ("onAwake");
	}
	// Use this for initialization
	void Start () {
		Debug.Log("onStart");
	}
	
	// Update is called once per frame
	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");
	}
}
MonoBehaviour
基本行为
【按执行顺序】
触发条件
Awake() 当前控制脚本实例被装载的时候调用。一般用于初始化整个事例使用。(此刻物体还未实例化出来,会影响程序的执行顺序)
Start() 当前控制脚本第一次执行Update之前调用。
Update() 每帧都执行一次,是最常用的时间函数。
FixedUpdate() 每固定帧绘制时执行一次,和Update不同的是FixedUpdate是渲染帧执行,如果你的渲染效率底下的时候FixedUpdate的调用次数就会下降。FixedUpdate比较适用于物理引擎的计算,因为是跟每帧渲染有关,而Update比较适合做控制。(放置游戏基本物理行为的代码,在Update之后执行)
LateUpdate() 在每帧执行完毕调用,他在所有Update结束后才调用,比较适合于命令脚本的执行。官网上例子是摄像机的跟随,都是在所有Upda
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值