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

140 阅读2分钟

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

前言

课程重点:

  • 3D实体搭建
  • 相机、光照、天空盒
  • 控制与碰撞
  • 玩法逻辑与UI

3D实体搭建

3D实体

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

3D实体的位姿态

  • 位置Position(x,y,z),是一个三维向量坐标
  • 旋转Rotation(x,y,z),是一个三维坐标向量
  • 缩放Scale(x,y,z),是一个三维坐标向量 ps.在Unity中,绝大部分情况下,是先缩放,后选择,最后平移

3D实体的创建

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

3D实体的绘制

  • 材质
  • 颜色
  • 纹理

预制体

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

相机、光照、天空盒

相机

  • Clear Flag
  • 背景颜色
  • Culling Mask
  • 投影(透视、正交)

光照

  • 类型
    • 点光源
    • 平行光
    • 聚光灯
    • 面积光
  • 颜色
  • 强度
  • 阴影类型

天空盒

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

总结

  • 学习在Unity中创建实体,给实体设置位姿、材质、刚体、脚本
  • 学会配置相机、光、天空盒
  • 理解实时游戏update的时序机制
  • 通过Input.GetAxis()与InputManager监听玩家输入
  • 用Instantiate()动态生成游戏实体实例
  • 从Cmaera.main获得相机参数,设置场景中的物体在画面中的位置
  • 利用标签、图层管理器区分实体种类并设置物理规则
  • 通过Collider组件与OnTrigger函数天添加碰撞事件
  • 通过图形用户界面管理游戏界面