这是我参与「第五届青训营 」伴学笔记创作活动的第 32 天
1.3D实体搭建
- 3D实体:3D游戏是由一个个具有形状的实体组成的。每个实体在空间中存在于特定的位置,有特定的姿态(旋转角度)。
- 3D 实体的位姿态(Transform):
- 位置 Position (x, y, z),是一个二维向量坐标
- 旋转 Rotation (x, y,z),是一个二维向量坐标
- 缩放 Scale (x, y, z),是一个二维向量坐标
- 在Unity中,绝大部分情况下,是先缩放,后旋转,最后平移
- 3D 实体的创建:
- 通过加载3D模型创建,如 fbx、gltf、 obj
- 通过组合参数化的基本几何体创建
- 预制体
- 将游戏对象保存在工程中,在需要的时候创建出来,这就是预制体(prefab)
- 预制体存储着一个游戏对象,包括游戏对象的所有组件以及其下的所有子游戏对象。
2.控制与碰撞
- 为主角飞船添加控制逻辑
- 添加刚体组件。
- Add Component > Physics > Rigidbody.
- Use Gravity 设置为 false,忽略重力的影响。
- isKinematic 设置为 true,飞船通过脚本而非力影响运动属性
- 设置 Constraints ,冻结Z轴位移以及X、Y、Z轴旋转。
- 添加自定义脚本
Add Component > New Script
- MonoBehaviour 是一个基类,所有 Unity 脚本都派生自该类
- Start()
在首次调用任何 Update 方法之前在顿 上调用 Start。
- Update()
每帧调用 Update。
- FixedUpdate()
用于物理计算且独立于顿率。具有物理系统的频率;每个固定帧率顿调用该函数
- LateUpdate().
LateUpdate 在每一次调用 Update 函数后调用
- OnGul()
系统调用 OnGU 来染和处理 GUI 事件。OnGUI 实现可以每调用多次 (每个事件调用一次)。
- OnDisable()
该函数在对象被禁用时调用。对象销毁时也会调用该函数
- OnEnable()
该函数在对象变为启用和激活状态时调用