第一章 常用基础类
1.1 MonoBehavior类
1.1.1 概念
脚本:附加在游戏对象上的用于定义游戏对象行为的指令代码.
创建脚本的方法:
1.Assets——create ——C#脚本
2.projec里面右击——create ——C#脚本
1.1.2 MonoBehavior类中的函数
MonoBehavior是Unity中非常重要的类,几乎所有的脚本都和MonoBehavior有间接或直接的联系.所以我们要重点掌握!
1.update 每帧执行一次 用于更新游戏场景和状态(逻辑判断)
2.start 函数第一次运行之前调用 用于游戏对象的初始化
3.awake 脚本实例被创建 用于游戏对象的初始化 awake早与其他的start (all)
4.fixedupdate 每个固定的物理时间 用于物理引擎的参数更新
5.lateupdate 每帧调用 次序在update之后 用于更新摄像头
6.OnTirggerEnter/Exit/Stay 触发器函数
7.OnCollisionEnter/Exit/Stay 碰撞器函数
8.OnEnable 对象启用或者激活时候调用
9.OnDisable 对象禁用或者取消激活时候调用
10.OnDestory 脚本销毁时候调用
11.OnGUI渲染GUI或者处理GUI消息时候调用
1.1.3 MonoBehavior类中函数的生命周期
Awake ——OnEnable ——start ——fixedupdate ——update ——lateUpdate——OnGUI——OnApplicationPause ——OnDisable ——OnDestory ——OnApplicationQuit
1.2 GameObject成员
1.2.1 GameObject中的组件
1.Name: 对象的名称
2.Tag: 对象的标签
3.Transform:对象的transform组件,设置对象的位置 旋转 缩放
4.Animation: 游戏对象上面的animation的组件,设置动画的属性
5.Audio:游戏对象上面的audioSource组件,设置声音
1.2.2 GameObject中的函数
1.Find:静态函数,根据名称查找游戏对象
2.FindwithTag:根据标签,查找符合条件的游戏对象
3.SetActive:激活/取消激活游戏对象
4.GetComponent: 获取游戏对象上面的指定组件
5.GetComponentInChildren:获取游戏对象上子对象的指定组件(可能会算上父类相同的对象)
6.AddComponent:为游戏对象添加指定组件
7.SendMessage:调用某些方法
8.Destroy: 删除销毁一个游戏物体,组件,或者资源
9.Instantiate:复制对象
10.DontDestroyOnLoad:加载场景的时候不销毁
1.3对象常用的组件
1.Transform: 设置对象的位置 旋转 缩放
2.Rigidbody: 设置物理引擎的刚体属性
3.Light: 设置灯光属性
4.Camera: 设置相机属性
5.Collider: 碰撞体属性
6.Animation: 设置动画属性
7.Audio: 设置声音属性
第二章 常用API
2.1 transform
2.1.1 Vector3
Vector3:表示3D的向量和点。 这个结构用于在Unity传递3D位置和方向。它也包含做些普通向量运算的函数。
向量:在数学中,几何向量(也称为欧几里得向量,通常简称向量、矢量),指具有大小(magnitude)和方向的量.
Position: 世界坐标系中的位置
Localposition: 局部坐标系
up:Vector3(0, 1, 0). 写Vector3(0, 1, 0)的简码,也就是向y轴.
down: Vector3(0, -1, 0). 写Vector3(0, -1, 0)的简码.
forward:Vector3(0, 0, 1). 写Vector3(0, 0, 1)的简码,也就是向z轴。
back:Vector3(0, 0, -1). 写Vector3(0, 0, -1)的简码。
left:Vector3(-1, 0, 0). 写Vector3(-1, 0, 0)的简码,也就是向x轴的反方向.
right:Vector3(1, 0, 0). 写Vector3(1, 0, 0)的简码,也就是向x轴。
one:Vector3(1, 1, 1). 写Vector3(1, 1, 1)的简码。
zero: Vector3(0, 0, 0). 写Vector3(0, 0, 0)的简码。
Magnitue:返回度(只读)(慎用)。
Nomalized:返回长度为1的该向量(只读)把向量标量化。
sqrMagnitude :返回这个向量的长度的平方(只读)。
Translate: 按照指定位置平移
Angle:由from和to两向量返回一个角度。形象的说,from和to的连线和它们一个指定轴向的夹角。向量的长
Cross:两个向量的叉积乘积结果在垂直于两个输入向量的三分之一个向量.一般用于判断小怪在玩家的左方或右方,可以方便旋转。
Dot :两个向量的点乘积。一般用于判断小怪是否和玩家的方向相同。
Distance:返回a和b之间的距离。
Lerp:两个向量之间的线性插值。
2.1.2 Rotation(欧拉角)
万象节锁:是指物体的两个旋转轴指向同一个方向。实际上,当两个旋转轴平行时,我们就说万向节锁现象发生了,换句话说,绕一个轴旋转可能会覆盖住另一个轴的旋转,从而失去一维自由度
Quaternion:四元数用于表示旋转。它们是紧凑的,不会出现万向节锁并且能够很容易被插值。Unity内使用Quaternion表示所有旋转。
eulerAngles:返回表示旋转的欧拉角度。 表示旋转的角度,绕z轴旋转euler.z度,绕x轴旋转euler.x度,绕y轴旋转euler.y度(这样的顺序)。
Rotate:应用一个欧拉角的旋转角度,eulerAngles.z度围绕z轴,eulerAngles.x度围绕x轴,eulerAngles.y度围绕y轴(这样的顺序)。
Rotatearound:按照给定的参数旋转
LoaakAt: 旋转面向谁
2.2 Time类
Time: 从开始到现在的时间
Deltatime: 上一帧消耗的时间
Fixedtime:最近物理更新的时间
2.3数学类 mathf
Random.range():获取随机数,但是整型是包括最小值不包括最大值,浮点型是包括最小值和最大值。
Max 返回两个或更多值中最大的值。
Min 返回两个或更多值中最小的值。
Abs 返回绝对值。
2.4 协同程序
Startcoroutine:启动协同程序
Stopcoroutine: 停止协同程序
Stopallcoroutine:停止所有的协同程序
Waitforseconds:等待几秒钟
2.5 输入类
Getaxis: 得到哪个输入轴
Getbutton: 如果按下返回值TRUE
Getkey:按下的键
Mouseposition: 得到鼠标的位置信息
2.6 鼠标
1.定义缩放因子
2.获取鼠标的Mouse Y or Mouse X
3.指定物体旋转
第三章 Rigibody刚体
3.1 Rigbody的概念
刚体能让你的游戏对象被物理引擎所控制,它能通过受到推力和扭力来实现真实的物理表现效果。所有游戏对象必须包含刚体组件来实现重力、通过脚本施加力、或者与其他对象进行交互,这一切都通过NVIDIA的PhysX物理引擎来实现。
3.2属性
Mass 质量,单位为Kg,建议不要让对象之间的质量差达到100倍以上
Drag 空气阻