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
相关推荐
Unity3D 常用代码集合 Unity3D 是一款功能强大且功能丰富的游戏引擎,提供了许多实用的功能和API供开发者使用。本文将对 Unity3D 中的一些常用代码进行总结和解释,帮助开发者更好地理解和应用这些代码。 1. 基本...
unity中 常用的事件响应函数,鼠标响应函数,碰撞响应函数
1. **Standard Shader**:Unity3D的标准Shader,是最常用的Shader之一。它支持漫反射(Diffuse)、镜面高光(Specular)、环境光(Ambient)、法线贴图(Normal Map)等多种光照模型,可以模拟真实世界中的各种材质效果。 2...
这个“Unity3D常用代码总结”压缩包文件显然是一个集合了开发者在实践中积累的实用代码示例和技巧的资源。下面,我们将深入探讨Unity3D中的一些关键知识点,包括组件的使用和功能实现。 1. **组件系统**: Unity3D...
"Unity3D常用脚本汇总" Unity3D是一款功能强大且广泛应用的游戏引擎,拥有庞大的开发者社区和丰富的资源库。脚本是Unity3D中的核心组件之一,负责游戏逻辑的实现和游戏对象的控制。本文将对Unity3D中一些常用的脚本...
Unity3D 事件函数详解 Unity3D 中所有控制脚本的基类 MonoBehavior 有一些虚函数用于绘制中事件的回调,也可以直接理解为事件函数。这些事件函数在 Unity3D 开发中非常重要,下面将对这些事件函数进行总结和详细...
Unity3D 鼠标检测技术 unity 3d 鼠标检测是 Unity 3D 游戏引擎中的一种常用技术,它允许开发者检测用户的鼠标行为,例如点击、悬停、拖拽等,从而实现各种交互式的游戏机制。下面我们将详细介绍 Unity 3D 鼠标检测...
Unity3D纹理贴图循环运动是游戏开发中常用的技术之一,通过使用纹理贴图循环运动,可以创建出更加逼真的游戏场景和效果。下面我们将详细介绍 Unity3D纹理贴图循环运动的技术细节和实现方法。 Unity3D纹理贴图循环...
标题《UNITY3D常用代码》总结了多个在Unity3D游戏开发中常用的基础功能代码示例。以下详细说明了各个代码的功能和使用场景: 1、基本碰撞检测代码 在Unity3D中,碰撞检测是游戏逻辑编程中不可或缺的部分。基本碰撞...
在 Unity3D 中,Invoke、StartCoroutine 和 Instantiate 是三个常用的方法,但是它们的使用可能会带来一些风险。为了避免这些风险,可以定义安全调用方法,例如使用委托任务来定义需要调用的方法,而不是使用字符串...
贝塞尔曲线是计算机图形学中常用的一种平滑曲线表示法,尤其在Unity3D这样的游戏引擎中,它常被用来创建动画路径、游戏物体的运动轨迹等。本教程将深入探讨贝塞尔曲线的原理,以及如何在Unity3D中实现这一功能。 ...
Unity3D是一款强大的跨平台游戏开发引擎,广泛应用于游戏制作、虚拟现实(VR)、增强现实(AR)等领域。在Unity3D中,开发者通常使用C#语言编写脚本来实现游戏逻辑和交互功能。以下是关于标题和描述中提及的几个关键...
### Unity 3D 常用脚本知识点详解 #### 一、`OnCollisionEnter`:检测碰撞事件 **知识点概述:** `OnCollisionEnter`是Unity 3D中的一个内置函数,当游戏对象与其他带有碰撞体(Collider)的游戏对象发生碰撞时被...
在“脚本概览”部分,手册主要介绍了Unity3D中脚本开发的基础概念和常用操作。首先,它概述了在Unity编辑器中进行脚本编写时的常用操作,比如如何创建、保存和修改脚本文件。接着,手册介绍了跟踪时间的概念,这是...
2. **参考手册**:参考手册是开发者的重要工具,其中详细介绍了Unity3D的所有内置类、函数、属性和方法。通过参考手册,开发者可以快速查找并理解各种功能的用法,比如 GameObject、Transform、Camera 等关键类。 3...
在Unity3D中,开发游戏或交互式应用时,经常需要实现动态的视觉效果,而贴图动画就是其中的一种常用手法。本篇内容主要讲解如何在Unity3D中创建简单的贴图动画,针对不支持GIF动图的情况,提供两种替代方案。 1. ...
#### 三、Unity3D常用对象和方法 Unity3D中的许多功能都是通过内置对象和方法实现的。以下是一些常用的对象和方法介绍: ##### 3.1 GameObject GameObject是Unity中最基本的单位,几乎所有内容都以GameObject的形式...
综上所述,Unity3D中文脚本使用手册为初学者提供了一个基础而全面的指导,涵盖了Unity3D脚本编写的基本概念、常用操作、时间跟踪、组件访问以及游戏物体交互等方面的知识点。通过学习这些内容,新手可以迅速掌握...
`Update()`函数是Unity3D中最常用的函数之一,它在每一帧都会被调用,用于处理与时间相关的游戏逻辑,如角色移动、动画控制、用户输入响应等。由于`Update()`的调用频率与渲染帧率同步,因此不适合处理对时间精度...
### Unity3D脚本知识点详解 #### 一、脚本概览 Unity3D脚本是一种用于游戏开发的重要工具,其主要功能在于控制游戏中的逻辑和行为。在Unity3D中,脚本通常是通过附加自定义脚本对象到游戏物体上来实现的。脚本对象...