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

164 阅读2分钟

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

3D游戏开发实战

目标受众

游戏开发零基础但想要学习游戏开发且有一定编程基础的游戏研发新人、大学生等。

目标

通过这次学习,可以利用Unity(或者其他3D游戏引擎)快速搭建电子游戏原型,参加Game Jam活动。电子游戏原型可以帮你完成下面的工作:

  • 快速试验、否定或者修改游戏机制与规划。
  • 探索游戏的动态行为,理解由规则产生的可能结果。
  • 确保规则和游戏元素易于被玩家理解。
  • 了解玩家对游戏的情绪反应。

简而言之就是身为一名程序员在没有美术的情况下,制作一个游戏

游戏开发过程(4个步骤)

  • 3D实体搭建(在游戏场景中搭建静态物体)
  • 相机、光照、天空盒(营造游戏场景中的氛围感)
  • 控制与碰撞(让实体在游戏场景中动起来)
  • 玩法逻辑与UI(为游戏注入玩法与规则的灵魂)

3D实体

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

3D实体的位姿态

  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. 纹理

相机

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

光照

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

天空盒

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