这是我参与「第五届青训营」伴学笔记创作活动的第 13 天
3D实体搭建
3D游戏是由具有形状的实体组成的, 每个实体在空间中存在于特定位置,有特定的姿态(旋转角度)。位姿(Transform),位置Positon、旋转Rotation、缩放Scale都是一个三维向量坐标。(Unity中绝大部分情况是先缩放,后旋转,最后平移)(不同引擎的坐标系可能不同)
实体创建
- 加载3D模型,fbx,gltf,obj
- 通过组合参数化的基本集合体创建
实体绘制
- 材质(可以自己写shader)
- 颜色
- 纹理
预制体
将游戏对象保存在工程中,需要的时候创建出来,就是预制体(prefab)。预制体存储一个游戏对象,包括游戏对象的所有组件以及其下的所有子游戏对象。通常来说,实体与预制体是不同的,修改预制体后进行更新才能使实体与预制体同步。
相机
- CLear Flag
- 背景颜色
- Cuilling Mask
- 投影(透视、正交)
- 透视投影近大远小,一般用在写实的游戏中
- 正交投影一般用在射击游戏中
光照
- 类型:点光源、平行光、聚光灯、面积光。点光源的运算优于其他光源
- 颜色:光的颜色极大程度上会影响场景的效果
- 强度:欠曝(光线不足)、过曝(光线过强)
- 阴影类型:软/硬阴影会导致影子的边缘是否锐利
天空盒
一个图片素材
控制与碰撞
更新的过程中会对用户的操作进行监听。游戏过程可以被分为7个阶段。
停顿是为了游戏运行流畅。