`
dengzhangtao
  • 浏览: 666698 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

unity3d 常用函数

 
阅读更多

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

  Awake

  当前控制脚本实例被装载的时候调用。一般用于初始化整个实例使用。

  Start

  当前控制脚本第一次执行Update之前调用。

  Update

  每帧都执行一次。这是最常用的事件函数。

  FixedUpdate

  每固定帧绘制时执行一次,和update不同的是FixedUpdate是渲染帧执行,如果你的渲染效率低下的时候FixedUpdate调用次数就会跟着下降。FixedUpdate比较适用于物理引擎的计算,因为是跟每帧渲染有关。Update就比较适合做控制。

  LateUpdate

  在每帧执行完毕调用,他是在所有update结束后才掉,比较适合用于命令脚本的执行。官网上例子是摄像机的跟随,都是在所有update操作完才跟进摄像机,不然就有可能出现摄像机已经推进了,但是视角里还未有角色的空帧出现。

 

上面几个函数的执行顺序Awake--》Start---》Update、FixedUpdate---》LateUpdate


  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版支持)后触发。

  详情请查看image 特效:The image effects in Unity Pro.

  OnRenderObject

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

  OnSerializeNetworkView

  OnServerInitialized

  当 Network.InitializeServer完成时触发。

  OnTriggerEnter

  OnTriggerExit

  OnTriggerStay

  当碰撞体(collier)接触触发区域(trigger)时候的一系列消息。

  OnWillRenderObject

1
0
分享到:
评论

相关推荐

    unity3D常用事件响应函数

    unity中 常用的事件响应函数,鼠标响应函数,碰撞响应函数

    Unity3D/2D游戏开发从0到1.pdf

    Unity3D/2D游戏开发从0到1分实战项目篇与开发理论篇。其中,开发理论篇,从初学者容易入门的角度分为上部分(1~14章)与下部分(15~29章)。上部分内容包括游戏历史与Unity发展概述、Unity界面与3D模型入门、Unity...

    unity3d教程圣典

    unity3d 教程圣典这是一个简短的Unity脚本手册 Unity的脚本功能,是通过将自定义的脚本附加到物体对象构成的,我们称之为行为.脚本中有各种函数被不同的事件所调用.下面几个最常用的:

    MGS-Backpack(Unity开发,平时积累常用算法)

    项目开发过程中积累的常用到的函数方法,包含部分算法设计。

    中文Unity3D脚本参考

    一款很全面的unity3d代码参考文档,包括了常用的函数方法

    Unity3d中文脚本使用手册

    这是一个关于 Unity 内部脚本如何工作的简单概览。 Unity 内部的脚本,是通过附加自定义脚本...最常用的列在下面: Update: 这个函数在渲染一帧之前被调用,这里是大部分游戏行为代码被执行的地方,除了物 理代码。

    U3D圣典中文学习版

    unity3d圣典中文手册是一个简短的Unity脚本手册 Unity的脚本功能,是通过将自定义的脚本附加到物体对象构成的,我们称之为行为,脚本中有各种函数被不同的事件所调用,下面几个最常用的: Update: This function is ...

    QHierarchy v4.3

    QHierarchy是一个Unity3D的编辑器扩展,它将几个常用函数添加到层级窗口中: – 显示GameObject的图标 – 显示/隐藏游戏对象 – 锁定/解锁游戏对象 – 防止选择锁定的游戏对象 – 显示GameObject的标签和图层 – ...

    Unity_脚本参考(中文版)

    Unity中的脚本(Script)由附加到游戏对象(GameObject)的自定义脚本对象(Custom Script Object)组成,它们又被称为行为。脚本对象中各种函数被称为必然事件(Certain Event)。常用的必然事件有如下三个...

    MonoBehaviour常用方法解释.docx

    1.Start()、2.Awake()、3.Update()、4.FixedUpdate()、5.LateUpdate()、6.OnGUI()、7.DontDestroyOnLoad(),7个方法解析

    关于简单目标识别与意图分析的机器学习实战项目

    项目围绕群体目标意图识别问题展开研究,考虑了实际环境中复杂的地狱地貌、多变的目标状态以及诸多意图判断,以坦克战斗群为例,首先通过Unity3D构建了坦克群模型,模拟了群体目标的常用阵型以及行进序列。...

    U3DLearn_5.3.6.zip

    第 7 课 : 常用API之Invoke 函数调用 第 7 课 : 基本组件之灯光 第 7 课: 类型转换 与 常量 第 8 课 :常用API 之消息发送 第 8 课 :分支结构之 if 语句 第 8 课:组件与脚本 第 9 课:常用API--协同程序...

Global site tag (gtag.js) - Google Analytics