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

105 阅读1分钟

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

17. 3D游戏实战开发

image.png

  1. 3D实体搭建
  2. 相机,光照,天空盒
  3. 控制与碰撞
  4. 玩法逻辑与UI

17.1 3D实体搭建

3D实体

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

image.png

3D实体的位姿态(Transform)

image.png

3D实体的创建

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

image.png

3D实体的绘制

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

image.png

敌机模型制作

image.png

预制体

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

17.2 相机、光照、天空盒

相机

image.png

透视投影与正交投影

image.png

光照

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

天空盒

image.png

17.3 控制与碰撞

image.png

为主角飞船添加控制逻辑

image.png

image.png

image.png

Input.GetAxis()和输入管理器(InputManager)

image.png

添加敌机

image.png

随机生成敌机

image.png

设置标签、图层和物理规则

image.png

标签和图层管理器

image.png

物理管理器

image.png

17.4 玩法逻辑与UI

主角飞船增加设计功能

image.png

按下空格后实例化新弹炮

image.png

为子弹添加碰撞事件

image.png

image.png

每次消灭敌机为玩家增加50分

image.png

重新开始游戏

image.png

总结

image.png