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

102 阅读2分钟

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

课程目标

本次课程简单介绍了如何利用Unity(或其他3D游戏引擎)快速搭建电子游戏原型,参加Game Jam活动。

本次课程分为3D实体搭建,相机、光照、天空盒,控制和碰撞,玩法逻辑与UI几个方面。

简言之:一名程序员,如何在没有美术的前提下,制作一个游戏Demo,让别人亲身体验以了解游戏机制。

3D实体搭建

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

image.png

3D实体的位姿态(Transform)

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

在Unity中,绝大部分情况下,是先缩放后旋转,最后平移

3D实体的创建

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

image.png

3D实体的绘制

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

image.png

敌机模型制作

image.png

预制体

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

image.png

相机、光照、天空盒

相机实体

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

image.png

透视投影与正交投影

image.png

光照

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

image.png

天空盒

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

image.png