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

75 阅读2分钟

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

目标

课程目标:通过此次培训,同学们可以利用Unity(或其他3D游戏引擎)快速搭建电子游戏原型,参加Game Jam活动。电子游戏原型可以帮你完成下面的工作:

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

3D实体搭建

3D实体

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

3D实体的位姿态

  1. 位置Position (x, y, z),是一个三维向量坐标
  2. 旋转 Rotation (x, y,z),是一个三维向量坐标

3D实体的创建

  1. 通过加载3D模型创建,如fbx、gltf、obj。
  2. 通过组合参数化的基本几何体创建。

预制体

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

相机,光照,天空盒

相机

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

光照

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

天空盒

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

控制和碰撞

image.png

为主角飞船添加控制逻辑

1.添加刚体组件。

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

添加敌机

·为每架敌机预制体添加一个刚体。

  • ·选中敌机预制体,在菜单栏执行Component > Physics > Rigidbody在新添加的刚体组件中,将Use Gravity设置为false。 ·将isKinematic设置为 true。 ·打开Constraints 旁边的三角形展开按钮,冻结Z轴的坐标和XYZ轴的旋转。
  • ·建立敌机的脚本Enemey.cs。
  • ·为每架敌机预制体均添加脚本 Enemy.cs。