3D 游戏实战开发 | 青训营笔记

52 阅读2分钟

这是我参与「第五届青训营 」笔记创作活动的第18天

01.3D 实体搭建

3D 实体

3D游戏是由一个个具有形状的实体组成的。每个实体在空间中存在于特定的位置,有特定的姿态(旋转角度)。

3D 实体的位姿态(Transform)

  1. 位置 Position (x,y, z),是一个三维向量坐标
  2. 旋转 Rotation (x, y, z),是一个三维向量坐标
  3. 缩放 Scale (x,y, z),是一个三维向量坐标

Unity中,绝大部分情况下,是先缩放,后旋转,最后平移

3D 实体的创建

  1. 通过加载3D模型创建,如 fbx、gltf、obj.
  2. 通过组合参数化的基本几何体创建.

3D 实体的绘制

  1. 材质。
  2. 颜色。
  3. 纹理。

预制体

将游戏对象保存在工程中,在需要的时候创建出来,这就是预制体(prefab) 预制体存储着一个游戏对象,包括游戏对象的所有组件以及其下的所有子游戏对象

02.相机光照,天空盒

相机

  1. Clear Flag。
  2. 背景颜色
  3. Culling Mask。
  4. 4.投影(透视、正交)

光照

  1. 类型:点光源、平行光、聚光灯、面积光。
  2. 颜色
  3. 强度。
  4. 影类型。

天空盒

  1. 相机的清除标志设为“天空盒”
  2. 窗口-渲染-照明设置。
  3. 环境-天空盒材质

MonoBehaviour 是一个基类,所有 Unity 脚本都派生自该类

  • Start() 在首次调用任何 Update 方法之前在帧上调用 Start。
  • Update() 每帧调用 Update。
  • FixedUpdate() 用于物理计算且独立于帧率。具有物理系统的频率:每个固定帧率帧调用该函数
  • LateUpdate()
  • LateUpdate 在每一次调用 Update 函数后调用
  • OnGUI() 系统调用 OnGUI 来染和处理 GUI 事件。OnGUI 实现可以每调用多次(每个事件调用一次)
  • OnDisable() 该函数在对象被禁用时调用。对象销毁时也会调用该函数 OnEnable() 该函数在对象变为启用和激活状态时调用.