这是我参与「第五届青训营 」伴学笔记创作活动的第15天
-
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(罗布乐思)
-
- 实时游戏
-
帧率
-
物理、逻辑与渲染
-
状态迁移
-
-
快速试验、否定或修改游戏机制与规划。
-
探索游戏的动态行为,理解由规则产生的可能结果。
-
确保规则和游戏元素易于被玩家理解。
-
了解玩家对游戏的情绪反应。
-
不同游戏平台的输入设备
-
3D 碰撞处理
-
AI 与 决策树
实时游戏的运行帧
-
帧率60可以流畅运行,帧率30差强人意,帧率20及以下会感受到明显卡顿
-
帧率60意味着每一帧运行时间16.67毫秒
-
一帧内,需要执行物理计算(含运动学与动力学计算、碰撞检测)、用户输入检测、游戏逻辑执行、渲染画面,如果时间还有富余,停顿到16.67毫秒。
-
游戏中的实体有静态的实体,也有动态的实体。对于动态的实体,我们需要为其设置刚体属性、碰撞/触发属性或执行脚本。
-
游戏的优化主要是减少物理、逻辑或渲染中的运算量。例如减少无意义的碰撞检测,用更少的计算量达到相同的执行目标,在用户感知不到差异的前提下尽可能裁剪渲染。