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

151 阅读3分钟

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

概述

本节课程主要分为四个方面:

  • 3D 游戏中的实体模型、材质与位姿
  • 相机、光照、天空盒
  • 游戏控制、刚体属性与物理碰撞
  • 玩法逻辑与游戏UI

课前部分主要罗列课程中涉及到的概念。对于不熟悉的概念,同学们可以提前查询预习;课中部分主要罗列每一部分的关键思路,帮助同学们跟上课程的进度;课后部分是一些问题,帮助同学们在课后梳理本课程的重点。

课前

尝试在课前理解以下内容:

3D 游戏引擎初探 下载并运行 Unity 软件

熟悉 Unity 界面

  • Scene(场景)面板
  • Game(游戏)面板
  • Hierarchy(层级)面板
  • Project(项目)面板
  • Inspector (检视器)面板
  • Console(控制台)面板

理解 Unity 中的 GameObject (实体)及其挂载的 Component (组件)

  • Camera(相机)实体
  • Light(光照)实体
  • Transform(变换)组件:位置、旋转和缩放
  • Mesh(网格)组件与 Material (材质)组件
  • RigidBody(刚体)组件:物理模拟
  • Collision(碰撞器)组件:碰撞检测
  • Input(游戏输入)与 InputManager(输入管理器)

Tag(标签)、Layer(图层)与 Physics(物理规则)

Prefab(预制体)与 Instantiate(实例化)

在 GameObject 上挂载 Script(脚本)

GUI(图形用户界面)和游戏管理

下载 Unity 之外的另一款 3D 游戏引擎,在其中寻找以上概念在另一款 3D 游戏引擎中的平行概念。以下是建议的另一款 3D 游戏引擎:

UE(Unreal Engine 虚幻引擎,UE4 或 UE5) Roblox(罗布乐思)

C# 编程语言

  • 变量及作用域
  • 数值运算、布尔运算和比较运算符
  • 顺序结构、条件分歧与循环结构
  • 函数与参数

C#中的数组、集合与List

课中

引言

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

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

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

课堂上我们通过制作一款射击游戏来带领大家了解3D游戏制作的基础知识。

游戏静态场景搭建

3D实体

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

3D实体的创建

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

位移变换:三维向量。你所用的游戏引擎是左手坐标系还是右手坐标系? 旋转变换:俯仰角、偏航角、滚转角