这是我参与「第五届青训营 」伴学笔记创作活动的第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实体的变换组件
位移变换:三维向量。你所用的游戏引擎是左手坐标系还是右手坐标系? 旋转变换:俯仰角、偏航角、滚转角