Unity3D中所有控制脚本的基类MonoBehaviour有一些虚函数用于绘制中事件的回调,也可以直接理解为事件函数,例如大家都很清楚的Start,Update等函数,以下做个总结。
 
Awake
当前控制脚本实例被装载的时候调用。一般用于初始化整个实例使用。
Start
当前控制脚本第一次执行Update之前调用。
Update
每帧都执行一次。这是最常用的事件函数。
FixedUpdate 
每固定帧绘制时执行一次,和update不同的是FixedUpdate是渲染帧执行,如果你的渲染效率低下的时候FixedUpdate调用次数就会跟着下降。FixedUpdate比较适用于物理引擎的计算,因为是跟每帧渲染有关。Update就比较适合做控制。
LateUpdate 
在每帧执行完毕调用,他是在所有update结束后才掉,比较适合用于命令脚本的执行。官网上例子是摄像机的跟随,都是在所有update操作完才跟进摄像机,不然就有可能出现摄像机已经推进了,但是视角里还未有角色的空帧出现。
Reset 
这个是编辑器模式情况下你点击reset按钮(如果有的话)调用的,你可以在这里做调试的初始化工作。
OnApplicationFocus
OnApplicationPause  
OnApplicationQuit 
应用程序失去焦点,应用程序暂停,应用程序退出时候发送这些消息。
OnBecameInvisible  
OnBecameVisible 
当脚本宿主(不)被任何摄像机显示时候发送此消息。
OnCollisionEnter  
OnCollisionExit  
OnCollisionStay 
当其他碰撞或者刚体(collider/rigidbody )和参数的碰撞或者刚体(collider/rigidbody )重叠、退出时发送前两个。而当他们保持重叠状态时每帧都会发送一个Stay消息。
OnConnectedToServer
OnDisconnectedFromServer  
OnFailedToConnect  
OnFailedToConnectToMasterServer
前两个 当客户端成功连接到服务器或者断开服务器时发送此消息。
后两个 当连接失败时候触发
OnMasterServerEvent 
当Master服务器发送报告时候触发。
OnNetworkInstantiate 
当物体被Network.Instantiate时触发。(还没研究到)
OnPlayerConnected  
OnPlayerDisconnected 
在服务端当玩家成功连接/离线时候触发。
OnControllerColliderHit 
当控制者和参数ControllerColliderHit碰撞时候触发此消息。官方举例可以用于角色移动一个物体,当角色碰到这个参数物体时候,你可以在这函数里操作移动此物体的动作,等等。
OnParticleCollision 
当粒子撞到碰撞体(collider)时触发。
OnDisable  
OnEnable 
当脚本宿主被启用或者禁用时候触发。
OnDrawGizmos
OnDrawGizmosSelected 
编辑器状态时绘制Gizmos和Gizmos被选取时候触发。
注:Gizmos参见我另一篇blog,他是用与做自己的组件时候用的,比如路径点绘制之类的。
OnGUI 
绘制GUI时候触发。一般在这个函数里绘制GUI菜单。
OnJointBreak 
(还没研究到)
OnLevelWasLoaded
当新的level(unity包)读取完毕时候触发。
OnMouseDown
OnMouseDrag 
OnMouseEnter  
OnMouseExit  
OnMouseOver  
OnMouseUp 
鼠标事件,都是当鼠标和gui或者碰撞体(Collider)交互时候触发。需要说明的是drag其实就是鼠标down后up之前持续每帧都会发送此消息。
OnPostRender 
这个函数仅用于宿主为摄像机的脚本。当此摄像机范围内所有渲染都完成时候触发此消息。
OnPreCull 
这个函数仅用于宿主为摄像机的脚本。当此摄像机剔除了某个渲染场景时候触发此消息。(未验证)
OnPreRender
这个函数仅用于宿主为摄像机的脚本。当此摄像机开始渲染某个场景时候触发此消息。
OnRenderImage 
当所有渲染完成image的postprocessing effects(只有pro版支持)后触发。
OnRenderObject
这个函数仅用于宿主为摄像机的脚本。当使用Graphics.DrawMeshNow 或者其他函数绘制自己建立的物体渲染完毕时触发。
OnSerializeNetworkView 
OnServerInitialized 
当 Network.InitializeServer完成时触发。
OnTriggerEnter  
OnTriggerExit  
OnTriggerStay 
当碰撞体(collier)接触触发区域(trigger)时候的一系列消息。
OnWillRenderObject

unity3d 事件说明的更多相关文章

  1. Unity3D 事件

    unity3d事件函数整理,事件,回调函数,消息处理 Unity3D中所有控制脚本的基类MonoBehaviour有一些虚函数用于绘制中事件的回调,也可以直接理解为事件函数,例如大家都很清楚的Star ...

  2. Unity3D事件顺序与功能

    Unity3D中所有控制脚本的基类MonoBehaviour有一些虚函数用于绘制中事件的回调,也可以直接理解为事件函数,例如大家都很清楚的Start,Update等函数,以下做个总结. Awake 当 ...

  3. Unity3D事件函数的执行顺序 - 包含渲染等模块的完整版,中英文对照

    原文地址: http://www.cnblogs.com/ysdyaoguai/p/3746828.html In Unity scripting, there are a number of eve ...

  4. Unity3D事件函数的执行顺序

    In Unity scripting, there are a number of event functions that get executed in a predetermined order ...

  5. Unity事件

    unity3d事件函数整理,事件,回调函数,消息处理 Unity3D中所有控制脚本的基类MonoBehaviour有一些虚函数用于绘制中事件的回调,也可以直接理解为事件函数,例如大家都很清楚的Star ...

  6. JNI详解---从不懂到理解

    转载:https://blog.csdn.net/hui12581/article/details/44832651 Chap1:JNI完全手册... 3 Chap2:JNI-百度百科... 11 C ...

  7. Unity3D中使用委托和事件

    前言: 本来早就想写写和代码设计相关的东西了,以前做2DX的时候就有过写写观察者设计模式的想法,但是实践不多.现在转到U3D的怀抱中,倒是接触了不少委托事件的写法,那干脆就在此总结一下吧. 1.C#中 ...

  8. Unity3D NGUI 给button按钮添加单间事件

    Unity3D中, NGUI 给button按钮添加单间事件的方法很多,在这里只给推荐一种比较常用的方法. 推荐方法:使用UIListener. 1.给button组价添加上UIListener.选择 ...

  9. unity3D技术之事件函数的执行顺序[转]

    unity3D技术之事件函数的执行顺序 转自http://www.yxkfw.com/?p=13703   在unity的脚本,有大量的脚本执行按照预先确定的顺序执行的事件函数.此执行顺序说明如下: ...

随机推荐

  1. MySQL5.6版本性能调优my.cnf详解

    [client] port = 3306 socket = /tmp/mysql.sock [mysqld] port = 3306 socket = /tmp/mysql.sock basedir  ...

  2. linux的mysql

    mysql https://www.cnblogs.com/cnblogsfans/archive/2009/09/21/1570942.html https://blog.csdn.net/Smal ...

  3. VMware虚拟机克隆CentOS 6.5后网卡修改方法

    VMware虚拟机安装好CentOS6.5系统后,纯净的系统多克隆几份出来方便后期做试验.克隆步骤很简单,克隆后出现的问题是克隆后的网卡MAC地址和原系统MAC地址一样,在局域网内会有冲突,需要更改克 ...

  4. 如何将angular-ui-bootstrap的图片轮播组件封装成一个指令

    在项目开发中我们经常会遇到图片轮播的功能点: 如果我们开发人员自己原生手写,将会花费很多的时间,最终得不偿失. 接下来就详细说说如何使用angular-ui发热图片轮播模块,并且将它写成一个指令(便于 ...

  5. oracle的时间

    今天发现之前从oracle导出的数据时间格式很奇怪: "ACTIVETIME","ACTIVITYID" "2018-08-10 06:08:43&q ...

  6. Android中preference标签的使用

    现在做公司任务的时候,经常会要去读Settings的源码,然后发现在xml文件中几乎全是用的preferenceScreen和preferenceCategory标签,很少有用布局和控件的,然后我就自 ...

  7. python学习 (三十三) Modules

    1: 方法一: 导入整个模块 import math class ModulesDemo(): def builtin_modules(self): print(math.sqrt()) m = Mo ...

  8. 基于Keepalived高可用集群的MariaDB读写分离机制实现

    一 MariaDB读写分离机制 在实现读写分离机制之前先理解一下三种主从复制方式:1.异步复制:MariaDB默认的复制即是异步的,主库在执行完客户端提交的事务后会立即将结果返给给客户端,并不关心从库 ...

  9. nova volume-create的使用

    处理cinder可以直接创建volume外,nova也是可以的 如: 可以看出创建一个名字为volume2的卷,大小为10G 把创建好的volume2卷直接挂在vm虚拟机上 如:先查看计算节点有几个v ...

  10. SVN专题(Visual SVN Server + TortoiseSVN + Visual SVN)

    参考资料: 1.Windows环境下搭建SVN服务器.原文地址:https://blog.csdn.net/lu1024188315/article/details/74082227 2.Git|SV ...