unity常用事件回调函数

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服务器发送报告时候触发。

OnPlayerConnected
OnPlayerDisconnected

在服务端当玩家成功连接/离线时候触发。

OnControllerColliderHit

当控制者和参数ControllerColliderHit碰撞时候触发此消息。官方举例可以用于角色移动一个物体,当角色碰到这个参数物体时候,你可以在这函数里操作移动此物体的动作,等等。

OnParticleCollision

当粒子撞到碰撞体(collider)时触发。

OnDisable
OnEnable

当脚本宿主被启用或者禁用时候触发。

OnDrawGizmos
OnDrawGizmosSelected

编辑器状态时绘制Gizmos和Gizmos被选取时候触发。
OnGUI
绘制GUI时候触发。一般在这个函数里绘制GUI菜单。

OnLevelWasLoaded

当新的level(unity包)读取完毕时候触发。

OnMouseDown

OnMouseDrag

OnMouseEnter

OnMouseExit

OnMouseOver

OnMouseUp

鼠标事件,都是当鼠标和gui或者碰撞体(Collider)交互时候触发。需要说明的是drag其实就是鼠标down后up之前持续每帧都会发送此消息。

OnPostRender

这个函数仅用于宿主为摄像机的脚本。当此摄像机范围内所有渲染都完成时候触发此消息。

OnPreRender

这个函数仅用于宿主为摄像机的脚本。当此摄像机开始渲染某个场景时候触发此消息。

OnRenderImage

当所有渲染完成image的postprocessing effects(只有pro版支持)后触发。

OnRenderObject

这个函数仅用于宿主为摄像机的脚本。当使用Graphics.DrawMeshNow 或者其他函数绘制自己建立的物体渲染完毕时触发。

OnSerializeNetworkView
OnServerInitialized

当 Network.InitializeServer完成时触发。

OnTriggerEnter
OnTriggerExit
OnTriggerStay

当碰撞体(collier)接触触发区域(trigger)时候的一系列消息。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 111. [动画系统]如何将其他类型的动画转换成关键帧动画? 动画->点缓存->关键帧 112. [动画]Unit...
    胤醚貔貅阅读 14,535评论 3 89
  • 更新:【面试题含答案】http://bbs.9ria.com/thread-288394-1-1.html 高频问...
    好怕怕阅读 10,382评论 3 52
  • 这个是我刚刚整理出的Unity面试题,为了帮助大家面试,同时帮助大家更好地复习Unity知识点,如果大家发现有什么...
    编程小火鸡阅读 9,317评论 2 34
  • Unity技术面试题 一:什么是协同程序? 答:在主线程运行时同时开启另一段逻辑处理,来协助当前程序的执行。换句话...
    沐冉阅读 7,949评论 1 19
  • 聚类##### 今天说聚类,但是必须要先理解聚类和分类的区别,很多业务人员在日常分析时候不是很严谨,混为一谈,其实...
    程sir阅读 75,681评论 40 151