开发者社区> 技术小牛人> 正文

[Unity]Unity常见API

简介:
+关注继续查看

1. MonoBehaviour 生命周期

  • Awake 对象创建的时候调用,类似构造函数
  • Start 在Awake之后执行,区别在于,如果组件不可用(在Inspector没有勾选该组件),是不会执行Start
  • Update 主函数循环每帧调用
  • FixedUpdate 每次固定帧调用,在物理计算的时候,应该使用该方法,而不是Update
  • OnDestroy 对象销毁时调用

2. MonoBehaviour 常见回调函数

  • OnMouseEnter 鼠标移入GUI控件或者碰撞体时调用
  • OnMouseOver 鼠标停留在GUI控件或者碰撞体时调用
  • OnMouseExit 鼠标移出GUI控件或者碰撞体时调用
  • OnMouseDown 鼠标在GUI控件或者碰撞体上按下时调用
  • OnMouseUp 鼠标在GUI控件或者碰撞体上释放时调用
  • OnTriggerEnter 当其他碰撞体进入触发器时调用
  • OnTriggerExit 当其他碰撞体离开触发器时调用
  • OnCollisionEnter 当碰撞体或者刚体与其他碰撞体或刚体接触时调用
    • OnCollisionEnter2D 其它2D函数类似
  • OnCollisionExit 当碰撞体或者刚体与其他碰撞体或刚体停止接触时调用
  • OnCollisionStay 当碰撞体或者刚体与其他碰撞体或刚体保持接触时调用
  • OnContollerColliderHit 当控制器移动时与碰撞体发生碰撞时调用
  • OnBecameVisible 对于任意一个相机可见时调用
  • OnBecameInVisible 对于任意一个相机不可见时调用
  • OnEnable 对象启用或者激活时调用
  • OnDisable 对象禁用或者取消激活时调用
  • OnDestroy 脚本销毁时调用
  • OnGUI 渲染GUI和处理GUI消息时调用

3. 访问游戏对象

  • GameObject.Find 多个时返回第一个
  • GameObject.FindWithTag 多个时返回第一个
  • GameObject.FindGameObjectsWithTag 返回数组

以上函数比较耗时,尽量避免在update函数中使用。

4. 访问组件

4.1. 常见组件

  • Transform 位置、旋转、缩放
  • Rigidbody 刚体
  • Renderer 渲染物体模型
  • Light 灯光属性
  • Camera 相机属性
  • Collider 碰撞体
  • Animation 动画
  • Audio 声音
  • Mesh
    • Mesh Filter 网格过滤器
    • Text Mesh 文本
    • Mesh Renderer 网格渲染器
    • Skinned Mesh Renderer 蒙皮渲染器,用于骨骼动画
  • Particle Sysyem 粒子系统
  • Physics 物理
  • Image Effects
  • Scripts 自定义组件

4.2. 获取组件

  • GetComponent<>() 获取组件
  • GetComponents<>()
  • GetComponentInChildren<>() 得到对象或者对象子物体上的组件
  • GetComponentsInChildren<>()

以上函数比较耗时,尽量避免在update函数中使用。

4.3. Transform 组件

4.3.1. 成员变量
  • position 世界坐标系
  • localPosition 相对坐标系(父对象)
  • eulerAngles 世界坐标系中以欧拉角表示的旋转
  • localEulerAngles 相对旋转
  • right 右方向
  • up 上方向
  • forward 前方向
  • rotation 旋转四元数
  • localRotation 相对旋转四元数
  • localScale 相对缩放比例
  • parent 父对象的Transform组件
  • worldToLocalMatrix 世界坐标系到局部坐标系的变换矩阵(只读)
  • localToWorldMatrix 局部坐标系到世界坐标系的变换矩阵(只读)
  • root 根对象的Transform组件
  • childCount 子孙对象的数量
  • lossyScale 全局缩放比例(只读)
4.3.2. 成员函数
  • Translate 按指定方向和距离平移
  • Rotate 按指定的欧拉角旋转
  • RotateAround 按给定旋转轴和旋转角度进行旋转
  • LookAt 旋转使得自身的前方向指向目标的位置
  • TransformDirection 将一个方向从局部坐标系变换到世界坐标系
  • InverseTansformDirection 将一个方向从世界坐标系变化到局部坐标系
  • DetachChildren 与所有子物体接触父子关系
  • Find 按名称查找子对象
  • IsChildOf 判断是否是指定对象的子对象

5. Time 时间类

5.1. 成员变量

  • time 游戏从开始到现在经历的时间(秒)(只读)
  • timeSinceLevelLoad 此帧开始时间(秒)(只读),从关卡加载完成开始计算
  • dateTime 上一帧耗费的时间(秒)(只读)
  • fixedTime 最近FixedUpdate的时间。该时间从游戏开始计算
  • fixedDateTime 物理引擎和FixedUpdate的更新时间间隔
  • maximunDateTime 一帧的最大耗时时间
  • smoothDeltaTime Time.deltaTime的平滑淡出
  • timeScale 时间流逝速度的比例。可以制作慢动作特效
  • frameCount 已渲染的帧的总数(只读)
  • realtimeSinceStartup 游戏从开始到现在的真实时间(秒),该事件不受timeScale影响
  • captureFramerate 固定帧率设置

6. Random 随机数类

6.1. 成员变量

  • seed 随机数生成器种子
  • value 0~1随机数,包含0和1
  • insideUnitSphere 半径为1的球体内的一个随机点
  • insideUnitCircle 半径为1的圆内的一个随机点
  • onUnitSphere 半径为1的球面上的一个随机点
  • rotation 随机旋转
  • rotationUnitform 均匀分布的随机旋转

6.2. 成员函数

  • Range 返回(min,max)直接的随机浮点数,包含min和max

7. Mathf 数学类

7.1. 成员变量

  • PI
  • Infinity 正无穷大
  • NegativeInfinity 负无穷大
  • Deg2Rad 度到弧度的转换系数
  • Rad2Deg 弧度到度的转换系数
  • Epsilon 一个很小的浮点数

7.2. 成员函数

  • Sin 弧度
  • Cos 弧度
  • Tan 弧度
  • Asin 角度
  • ACos 角度
  • Atan 角度
  • Sqrt 计算平方根
  • Abs 绝对值
  • Min
  • Max
  • Pow Pow(f,p) f的p次方
  • Exp Exp(p) e的p次方
  • Log 计算对数
  • Log10 计算基为10的对数
  • Ceil 向上取整
  • Floor 向下取整
  • Round 四舍五入
  • Clamp 将数值限制在min和max之间
  • Clamp01 将数值限制在0和1之间

8. Coroutine 协同程序函数

  • StartCoroutine 启动一个协同程序
  • StopCoroutine 终止一个协同程序
  • StopAllCoroutines 终止所有协同程序
  • WaitForSeconds 等到若干秒
  • WaitForFixedUpdates 等待直到下一次FiexedUpdate调用
  • 本文转自 Ron Ngai 博客园博客,原文链接:http://www.cnblogs.com/rond/p/6809480.html  ,如需转载请自行联系原作者



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Unity 接入高德开放API - 天气查询
Unity 接入高德开放API - 天气查询
166 0
Unity中GameObject API解析
如何在脚本中获取自身所在的GameObject? 我们知道脚本必须挂在一个GameObject上面才能执行,那么如何知道当前脚本所挂载的GameObject是哪一个呢? 这就需要用到gameObject属性了。
8599 0
Unity常用旋转API
Unity中的旋转通常可以用Transform 直接控制和 rotation 控制两种方式。 一、Transform控制(工程中的scene1) 1.1 Transform.Rotate 旋转某个角度 函数定义 [csharp] view plain copy public void Rotate...
11502 0
Unity SceneManager场景管理Chinar详解API
本文提供全流程,中文翻译。 Unity SceneManager场景管理Chinar详解API 助力快速理解 Unity 场景管理的 API 诸多用法 Unity 场景API中文详解 我们在游戏开发中,经常用到关卡切换、场景切换、加载场景等诸多功能性操作 Unity 为我们提供了场景管理类.
6389 0
ASP.NET Core Web API 帮助页
ASP.NET Core Web API 帮助页
90 0
一文概览设计Web API 中的细节
一文概览设计Web API 中的细节
54 0
借助 Web Animations API 实现一个鼠标跟随偏移动画
借助 Web Animations API 实现一个鼠标跟随偏移动画
64 0
WebAPI学习(一)——创建Web API程序
WebAPI学习(一)——创建Web API程序
114 0
几种不常用Web API(振动、重力感应、联网状态、系统电量信息、页面可见性、canvas转base64、监听屏幕旋转、元素全屏显示)
navigator对象中有一些不常用的API,以下主要介绍vibrate振动,deviceorientation重力感应,online联网状态,getBattery系统电量信息,visibilitychange页面可见性,toDataURL(canvas转base64),orientationchange监听屏幕旋转和fullScreen元素全屏显示。
95 0
.NET MVC第十章 vue axios解析web api接口
.NET MVC第十章 vue axios解析web api接口
38 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
CUDA Math API
立即下载
阿里云 API 精选手册(Alibaba Cloud API Playbook)
立即下载
重保场景及API安全指南
立即下载