Unity 知识总结

本文详细介绍Unity游戏开发的基础知识,涵盖MonoBehavior类、GameObject组件、Rigidbody刚体等核心概念,以及射线、场景加载等常用API的使用方法。此外,还介绍了如何利用NGUI和UGUI构建用户界面,并通过实例演示了换装系统的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一章   常用基础类

1.1 MonoBehavior

1.1.1 概念

脚本:附加在游戏对象上的用于定义游戏对象行为的指令代码.

创建脚本的方法:

1.Assets——create ——C#脚本

2.projec里面右击——create ——C#脚本

1.1.2 MonoBehavior类中的函数

MonoBehaviorUnity中非常重要的类,几乎所有的脚本都和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 空气阻

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值