unity3D中常用的几种系统自调用的重要方法

转载 2013年12月04日 18:16:27

 

 

原文地址:http://game.ceeger.com/forum/read.php?tid=14413&fid=27

 

首先,我们有必要说明一下他们的执行顺序:

awake--start--update--fixedupdate--lateupdate--OnGUI--reset--onDisable--onDestory

Awake用于在游戏开始之前初始化变量或游戏状态。在脚本整个生命周期内它仅被调用一次.Awake在所有对象被初始化之后调用,所以你可以安全的与其他对象对话或用诸如GameObject.FindWithTag()这样的函数搜索它们。每个游戏物体上的Awake以随机的顺序被调用。因此,你应该用Awake来设置脚本间的引用,并用Start来传递信息Awake总是在Start之前被调用。它不能用来执行协同程序。

Start仅在Update函数第一次被调用前调用。Start在behaviour的生命周期中只被调用一次。它和Awake的不同是Start只在脚本实例被启用时调用。你可以按需调整延迟初始化代码。Awake总是在Start之前执行。这允许你协调初始化顺序。在所有脚本实例中,Start函数总是在Awake函数之后调用。

fixupdate每一帧都执行,处理Rigidbody时,需要用FixedUpdate代替Update。例如:给刚体加一个作用力时,你必须应用作用力在FixedUpdate里的固定帧,而不是Update中的帧。(两者帧长不同)FixedUpdate每固定帧绘制时执行一次,和update不同的是FixedUpdate是渲染帧执行,如果你的渲染效率低下的时候FixedUpdate调用次数就会跟着下降。FixedUpdate比较适用于物理引擎的计算,因为是跟每帧渲染有关。Update就比较适合做控制。

LateUpdate是在所有Update函数调用后被调用,和fixedupdate一样都是每一帧都被调用执行,这可用于调整脚本执行顺序。例如:当物体在Update里移动时,跟随物体的相机可以在LateUpdate里实现。LateUpdate,在每帧执行完毕调用,他是在所有update结束后才掉,比较适合用于命令脚本的执行。官网上例子是摄像机的跟随,都是在所有update操作完才跟进摄像机,不然就有可能出现摄像机已经推进了,但是视角里还未有角色的空帧出现。

OnGUI是在渲染和处理GUI事件时调用。比如:你画一个button或label时常常用到它。这意味着OnGUI也是每帧执行一次。

Reset是在用户点击检视面板的Reset按钮或者首次添加该组件时被调用。此函数只在编辑模式下被调用。Reset最常用于在检视面板中给定一个最常用的默认值。

当物体被销毁时 OnDisable将被调用,并且可用于任意清理代码。脚本被卸载时,OnDisable将被调用,OnEnable在脚本被载入后调用。注意: OnDisable不能用于协同程序。

当MonoBehaviour将被销毁时,这个函数被调用。OnDestroy只会在预先已经被激活的游戏物体上被调用。注意:OnDestroy也不能用于协同程序。

unity3d出镜率最高的面试题

一.什么是渲染管道? 是指在显示器上为了显示出图像而经过的一系列必要操作。 渲染管道中的很多步骤,都要将几何物体从一个坐标系中变换到另一个坐标系中去。 主要步骤有: 本地坐标->视图坐标->背...
  • yaokang522
  • yaokang522
  • 2015年06月09日 11:42
  • 1273

操作系统中的几种常见进程调度算法

首先来看下集中常见的进程调度算法: 1.先来先服务调度算法 2.短作业优先调度算法 3.优先级调度算法 4.高响应比优先调度算法 5.轮转调度算法 6.多级反馈队列 ...
  • windyblankboy
  • windyblankboy
  • 2016年06月11日 16:20
  • 3111

linux--几种常见的进程调度算法

1 先来先服务(队列) 先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度,也可用于进程调度。当在作业调度中采用该算法时,每次调度都是从后备作业队列中选择一个或多个最先进入该...
  • xxpresent
  • xxpresent
  • 2016年06月14日 17:46
  • 1906

unity3D中常用的几种系统自调用的重要方法

首先,我们有必要说明一下他们的执行顺序: awake--start--update--fixedupdate--lateupdate--OnGUI--reset--onDisable--onDe...
  • cl110cl
  • cl110cl
  • 2014年03月25日 21:05
  • 954

Unity3D重要的函数方法

Update   当MonoBehaviour启用时,其Update在每一帧被调用。   LateUpdate   当Behaviour启用时,其LateUpdat...
  • MokeXing
  • MokeXing
  • 2017年12月20日 13:47
  • 16

unity3d 重要函数方法

Update   当MonoBehaviour启用时,其Update在每一帧被调用。   LateUpdate   当Behaviour启用时,其LateUpdat...
  • xy603876399
  • xy603876399
  • 2013年12月03日 20:03
  • 497

unity3d 重要函数方法

unity的常用重要函数
  • a12331244
  • a12331244
  • 2017年05月13日 21:12
  • 114

unity3d 重要类+方法 。。。再来一遍吧。。。

static var matrix : Matrix4x4 描述:设置用于渲染所有gizmos的矩阵。 类方法 ◆ Static function DrawCube(center:V...
  • ldghd
  • ldghd
  • 2012年11月30日 15:52
  • 1787

unity3d 重要函数方法

Update   当MonoBehaviour启用时,其Update在每一帧被调用。   LateUpdate   当Behaviour启用时,其LateUpdat...
  • goodai007
  • goodai007
  • 2013年01月10日 17:13
  • 14288

unity3d调用windows系统dialog选择文件夹的方法

本来想百度找这个功能,百度了半天所有方法都试遍了,发现都只有选择文件和保存文件的方法,没有找到选择文件夹的方法,尼玛。 我只好参照选择文件的写法也写了个,看看能不能成功,果然成功了,我日!贴出来给大家...
  • cwj649956781
  • cwj649956781
  • 2017年07月27日 20:00
  • 591
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:unity3D中常用的几种系统自调用的重要方法
举报原因:
原因补充:

(最多只允许输入30个字)