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

78 阅读1分钟

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

3D实体搭建

3D游戏是由具有形状的实体组成的, 每个实体在空间中存在于特定位置,有特定的姿态(旋转角度)。位姿(Transform),位置Positon、旋转Rotation、缩放Scale都是一个三维向量坐标。(Unity中绝大部分情况是先缩放,后旋转,最后平移)(不同引擎的坐标系可能不同)

image.png

image.png

实体创建

  • 加载3D模型,fbx,gltf,obj
  • 通过组合参数化的基本集合体创建

实体绘制

  • 材质(可以自己写shader)
  • 颜色
  • 纹理

预制体

将游戏对象保存在工程中,需要的时候创建出来,就是预制体(prefab)。预制体存储一个游戏对象,包括游戏对象的所有组件以及其下的所有子游戏对象。通常来说,实体与预制体是不同的,修改预制体后进行更新才能使实体与预制体同步。

相机

  • CLear Flag
  • 背景颜色
  • Cuilling Mask
  • 投影(透视、正交)
    • 透视投影近大远小,一般用在写实的游戏中
    • 正交投影一般用在射击游戏中

image.png

光照

  • 类型:点光源、平行光、聚光灯、面积光。点光源的运算优于其他光源
  • 颜色:光的颜色极大程度上会影响场景的效果
  • 强度:欠曝(光线不足)、过曝(光线过强)
  • 阴影类型:软/硬阴影会导致影子的边缘是否锐利

天空盒

一个图片素材

控制与碰撞

更新的过程中会对用户的操作进行监听。游戏过程可以被分为7个阶段。 停顿是为了游戏运行流畅。 image.png