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

93 阅读2分钟

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

电子游戏的原型可以帮助完成以下的工作

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

3D的实体搭建

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

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

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

3D实体的绘制

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

预制体

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

相机、光照、天空盒

相机

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

光照

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

天空盒

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

控制与碰撞

为主角飞船添加控制逻辑

  1. 添加刚体组件
  • Add Component > Physics > Rigidbody
  • Use Gravity 设置为false,忽略重力的影响
  • isKinematic设置为true,飞船通过脚本而非重力影响运动属性
  • 设置Constraints,冻结Z轴位移以及X,YZ轴旋转
  1. 添加自定义脚本
  • Add Component >New Script