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

64 阅读2分钟

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

一、本堂课重点内容:

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

二、详细知识点介绍:

3D实体搭建

3D实体

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

3D实体的位姿态

  • 位置position(x,y,z),是一个三维向量坐标
  • 旋转rotation(x,y,z),是一个三维向量坐标
  • 缩放scale(x,y,z),是一个三维向量坐标 在Unity中,绝大部分情况下,是先缩放,后旋转,最后平移。

3D实体的创建

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

3D实体的绘制

  • 材质
  • 颜色
  • 纹理

预制体

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

相机,光照,天空盒

相机

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

光照

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

天空盒

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

控制与碰撞

为主角飞船添加控制逻辑

image.png

添加敌机

image.png

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

image.png

标签和图层管理器

image.png

为游戏对象指定合适的图层

image.png

玩法逻辑与UI

主角飞船增加射击功能

image.png

按下空格后实例化新炮弹

image.png

为子弹添加碰撞事件

image.png

屏幕右上角显示计分板

image.png

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

image.png

重新开始游戏

image.png