《Unity 5权威讲解》权威学习地图

按李在贤《Unity 5权威讲解》正式目录第 1-586 页复现全书导览,围绕 TPS 项目建立可运行、可反证、可回归的证据。

问题:怎样证明掌握的是原书项目,而不是背过一组 Unity API?

先预测:如果只保存最后一张运行截图,不知道对象如何生成、状态怎样变化、事件由谁发送、失败时如何清理,能否证明系统正确?不能。项目能力来自连续因果链,API 名称只是其中一个实现节点。

全书不是通用 API 清单,而是一条从 TPS 场景、主角、子弹、敌人到 UI、管理器、网络、Photon、布娃娃、触屏和数据库的项目主线。 本页同时保留 Unity 5 的历史语境和当前工程警示:已废弃的内置网络等 API 用于忠实理解原书,不作为新项目的生产推荐。

原书目录边界

本页严格对应《Unity 5权威讲解》第 1-586 页。以下目录项必须在实现、实验或证据中出现:

  • Unity 5 简介
  • 准备游戏开发
  • 制作游戏场景
  • 制作主人公角色
  • 子弹发射效果
  • 制作敌对角色
  • Unity UI
  • 游戏管理器
  • 射线投射
  • 导航高级技巧
  • 光照贴图与灯光探测器
  • 场景分离与合并
  • Unity 内置网络游戏
  • Photon Cloud 网络游戏
  • 提升游戏真实感
  • 数据库附录

本站以中文重新组织解释、代码与实验,不逐字复制原文。示例锁定原书 Unity 5 语境;迁移到现代 Unity 时,需要把输入、渲染、导航和网络替代方案写进版本清单。

核心模型与不可变条件

全书不是通用 API 清单,而是一条从 TPS 场景、主角、子弹、敌人到 UI、管理器、网络、Photon、布娃娃、触屏和数据库的项目主线。 主链为:TPS场景 → 角色战斗 → UI架构 → 世界系统 → 多人网络 → 真实感与数据。每一节点只消费前一节点已经验证的对象、状态或事件,不能从最终表现反推中间过程一定正确。

本页不可变条件是:15 章与数据库附录必须按项目依赖顺序可定位,内置网络与 Photon 两条历史链必须明确标注版本边界。 任何“看起来能跑”的结果都必须经过重复加载、异常输入和边界时序检验。

五个必须落到证据的术语

“项目主线”必须落到“TPS场景 → 角色战斗 → UI架构 → 世界系统 → 多人网络 → 真实感与数据”中的明确节点,并能由场景状态、日志或目标构建捕获验证。

“目录覆盖”必须落到“TPS场景 → 角色战斗 → UI架构 → 世界系统 → 多人网络 → 真实感与数据”中的明确节点,并能由场景状态、日志或目标构建捕获验证。

“版本边界”必须落到“TPS场景 → 角色战斗 → UI架构 → 世界系统 → 多人网络 → 真实感与数据”中的明确节点,并能由场景状态、日志或目标构建捕获验证。

“证据链”必须落到“TPS场景 → 角色战斗 → UI架构 → 世界系统 → 多人网络 → 真实感与数据”中的明确节点,并能由场景状态、日志或目标构建捕获验证。

“综合验收”必须落到“TPS场景 → 角色战斗 → UI架构 → 世界系统 → 多人网络 → 真实感与数据”中的明确节点,并能由场景状态、日志或目标构建捕获验证。

原书概念逐项复现

1. Unity 5 简介

把“Unity 5 简介”放回“TPS场景 → 角色战斗 → UI架构 → 世界系统 → 多人网络 → 真实感与数据”主链,记录输入、对象状态、事件、结果和失败恢复,不能只保存最终截图。 复现时保存正常、边界和主动失败三类样本,在首个偏离节点停止扩散修改。

2. 准备游戏开发

把“准备游戏开发”放回“TPS场景 → 角色战斗 → UI架构 → 世界系统 → 多人网络 → 真实感与数据”主链,记录输入、对象状态、事件、结果和失败恢复,不能只保存最终截图。 复现时保存正常、边界和主动失败三类样本,在首个偏离节点停止扩散修改。

3. 制作游戏场景

把“制作游戏场景”放回“TPS场景 → 角色战斗 → UI架构 → 世界系统 → 多人网络 → 真实感与数据”主链,记录输入、对象状态、事件、结果和失败恢复,不能只保存最终截图。 复现时保存正常、边界和主动失败三类样本,在首个偏离节点停止扩散修改。

4. 制作主人公角色

把“制作主人公角色”放回“TPS场景 → 角色战斗 → UI架构 → 世界系统 → 多人网络 → 真实感与数据”主链,记录输入、对象状态、事件、结果和失败恢复,不能只保存最终截图。 复现时保存正常、边界和主动失败三类样本,在首个偏离节点停止扩散修改。

5. 子弹发射效果

把“子弹发射效果”放回“TPS场景 → 角色战斗 → UI架构 → 世界系统 → 多人网络 → 真实感与数据”主链,记录输入、对象状态、事件、结果和失败恢复,不能只保存最终截图。 复现时保存正常、边界和主动失败三类样本,在首个偏离节点停止扩散修改。

6. 制作敌对角色

把“制作敌对角色”放回“TPS场景 → 角色战斗 → UI架构 → 世界系统 → 多人网络 → 真实感与数据”主链,记录输入、对象状态、事件、结果和失败恢复,不能只保存最终截图。 复现时保存正常、边界和主动失败三类样本,在首个偏离节点停止扩散修改。

7. Unity UI

把布局、视觉、输入命中和游戏数据绑定分开验证,并覆盖目标宽高比与重复进入场景的生命周期。 复现时保存正常、边界和主动失败三类样本,在首个偏离节点停止扩散修改。

8. 游戏管理器

把“游戏管理器”放回“TPS场景 → 角色战斗 → UI架构 → 世界系统 → 多人网络 → 真实感与数据”主链,记录输入、对象状态、事件、结果和失败恢复,不能只保存最终截图。 复现时保存正常、边界和主动失败三类样本,在首个偏离节点停止扩散修改。

9. 射线投射

明确 Layer、触发器、连续检测、查询范围和唯一结算边界,再用正常、擦边与高速失败样本复验。 复现时保存正常、边界和主动失败三类样本,在首个偏离节点停止扩散修改。

10. 导航高级技巧

把“导航高级技巧”放回“TPS场景 → 角色战斗 → UI架构 → 世界系统 → 多人网络 → 真实感与数据”主链,记录输入、对象状态、事件、结果和失败恢复,不能只保存最终截图。 复现时保存正常、边界和主动失败三类样本,在首个偏离节点停止扩散修改。

11. 光照贴图与灯光探测器

固定模型、导入设置、材质参数、光源和相机条件,用目标构建截图与渲染数据共同验证外观。 复现时保存正常、边界和主动失败三类样本,在首个偏离节点停止扩散修改。

12. 场景分离与合并

把“场景分离与合并”放回“TPS场景 → 角色战斗 → UI架构 → 世界系统 → 多人网络 → 真实感与数据”主链,记录输入、对象状态、事件、结果和失败恢复,不能只保存最终截图。 复现时保存正常、边界和主动失败三类样本,在首个偏离节点停止扩散修改。

13. Unity 内置网络游戏

为对象、玩家和消息定义唯一身份、所有权、发送方向、重复处理和断线清理,并用双端日志对齐同一事件。 复现时保存正常、边界和主动失败三类样本,在首个偏离节点停止扩散修改。

14. Photon Cloud 网络游戏

为对象、玩家和消息定义唯一身份、所有权、发送方向、重复处理和断线清理,并用双端日志对齐同一事件。 复现时保存正常、边界和主动失败三类样本,在首个偏离节点停止扩散修改。

15. 提升游戏真实感

把“提升游戏真实感”放回“TPS场景 → 角色战斗 → UI架构 → 世界系统 → 多人网络 → 真实感与数据”主链,记录输入、对象状态、事件、结果和失败恢复,不能只保存最终截图。 复现时保存正常、边界和主动失败三类样本,在首个偏离节点停止扩散修改。

16. 数据库附录

把“数据库附录”放回“TPS场景 → 角色战斗 → UI架构 → 世界系统 → 多人网络 → 真实感与数据”主链,记录输入、对象状态、事件、结果和失败恢复,不能只保存最终截图。 复现时保存正常、边界和主动失败三类样本,在首个偏离节点停止扩散修改。

三步复现与分步观察

可执行实现骨架

脚本边界显式保存状态,避免展示层直接决定玩法结果:

using UnityEngine;
 
public sealed class ChapterController : MonoBehaviour
{
    [SerializeField] GameObject target;
    bool completed;
 
    public void ExecuteOnce()
    {
        if (completed || target == null) return;
        completed = true;
        ApplyChapterResult(target);
    }
}

测试记录必须能回到具体对象与事件:

{
  "chapter": "u5-official-learning-map",
  "bookPages": "1-586",
  "chain": ["TPS场景","角色战斗","UI架构","世界系统","多人网络","真实感与数据"],
  "unity": "5.x-pinned",
  "scene": "fixed-tps-checkpoint",
  "normal": true,
  "boundary": true,
  "failureReplay": true
}

签发输出同时保留通过值与拒绝原因:

PASS context=version+scene+prefab+input
PASS chain=TPS场景 -> 角色战斗 -> UI架构 -> 世界系统 -> 多人网络 -> 真实感与数据
PASS invariant=15 章与数据库附录必须按项目依赖顺序可定位,内置网络与 Photon 两条历史链必须明确标注版本边界。
REJECT duplicate-event | stale-object | changed-scene | missing-cleanup

两个必须主动制造的失败样本

证据矩阵

维度正常样本边界样本失败样本签发条件
环境固定版本与场景重复加载或低帧率改变一个依赖差异可解释
主链所有节点有记录临界输入与时序首节点注入偏差能定位首因
结果玩法与表现一致生命周期完整重复或丢失事件同输入可复验
清理对象数量稳定重连或重载遗留引用和订阅无状态泄漏

练习

小结

  • 是否逐项覆盖了本页原书目录,而没有换成通用 Unity 知识?
  • 是否沿“TPS场景 → 角色战斗 → UI架构 → 世界系统 → 多人网络 → 真实感与数据”保存对象、状态和事件证据?
  • 是否主动制造失败并验证重载、重连或重复执行后的清理?
  • 是否明确区分 Unity 5 历史复现与现代生产建议?

术语表

来源与改编边界

讨论

评论区加载中…