U
06 / 22 · 11 分钟
常见问题

学 Unity 要多久?这门课自己的真实数字

简短回答

学 Unity 并做出游戏要多久?

这门课 40 课全部加起来是 447 分钟=7.45 小时(直接数 curriculum.ts 里的 minutes)。把 5 道章末练习按题目自己标明的用时做完,真实合计是 18–23 小时。

网上对“学 Unity 要多久”的回答几乎都是观点。这一页是算术:把本课程 40 课各自的 minutes 全加起来,再按 5 道练习自己写明的用时补上。下面就是这张表、按每天 30 分钟做的除法、别人那些数字的来路,以及过了这条线这些数字就不再能描述你的那个边界。

简短答案

  • 第一个场景上屏幕:课程的第 35 分钟。第 06 课就是一块 Plane、一个 material 加一台摄像机,长 8 分钟。你自己装 Unity Hub 和编辑器的时间另算 —— 课程表里没算这笔。

  • 第一件你真正能操控的事:第 64 分钟。第 09 课在你刚搭的那块地面上用 1/2/3 切换三个角色 —— 也就是首页摆在最前面那个里程碑。

  • 整门课、只算课程正文:447 分钟 = 7.45 小时。这是把 curriculum.ts 里所有 minutes 加起来的结果。首页写“约 7 小时”是因为它四舍五入了。

  • 课程正文,加上按每道练习题自己标明的用时真去做:18–23 小时。35 节课共 335 分钟;5 道练习分别标着 60–90 分钟,以及 3–4、2–3、3–4 和 3–5 小时。加起来是 17.6 到 23.1 小时。

  • 你自己的游戏、一个人、从空文件夹到发布出去的构建:这一页没有一个数字够得着那里,原因是范围而不是 Unity。课程表能给的最接近的说法是:如果第二个游戏原样复用两个阶段教的东西 —— 在方块之间移动和跳跃、三个带冷却的技能、会追击会反击的敌人、真机上的一个 APK —— 那大约是装着这些零件的两道练习,第 02 章的 3–4 小时加第 05 章的 3–5 小时,也就是 6–9 小时。而且前提是美术不用你自己做。这门课不教的每一个机制,都在这个数字之外。

这份清单刻意不含一件事:多久能拿到工资、多久能找到工作。那跟“学 Unity 要多久”不是同一个问题,而在博客文章里回答它的人手里并没有关于你的数据。

这门课自己的数字

下面每个数字都直接读自 curriculum.ts:每一章有多少课、它们的 minutes 合计是多少。每章的练习那一行也算在合计里,因为它和其他课一样带着一个 minutes——但它也正是整个文件里最不可靠的数字,所以最后一列引用的是练习页面自己要求的时间。

指标目标值原因
第 01 章 · 基础与竞技场 —— 课数 · 分钟数11 · 1001.7 小时。练习那一行写 20 分钟,可它顶上题目要的是 60–90 分钟。
第 02 章 · 角色与战斗 —— 课数 · 分钟数9 · 1141.9 小时。练习那一行写 24 分钟,它的题目写 3–4 小时。
第 03 章 · 镜头与操作 —— 课数 · 分钟数6 · 671.1 小时。最短的一章。练习那一行写 20 分钟;题目写 2–3 小时。
第 04 章 · 世界与游戏循环 —— 课数 · 分钟数7 · 831.4 小时。练习那一行写 22 分钟;题目写 3–4 小时。
第 05 章 · 导出到手机 —— 课数 · 分钟数7 · 831.4 小时。练习那一行写 26 分钟;题目写 3–5 小时,而且只有这一道最后是真机上的一个 APK。
五章合计 —— 课数 · 分钟数40 · 447课程合计 7.45 小时,首页卡片把它四舍五入成“约 7 小时”——并且另外写明 5 道练习的时间要另算。

这就是首页真正在跑的那段计算,好让你去跟文件核对,而不是跟这篇文章核对。

The timing card, counted from TABS rather than typed in
const minutes = TABS.flatMap((tab) => tab.lessons.map((l) => l.minutes));
minutes.length;                                     // 40 lessons
const total = minutes.reduce((a, b) => a + b, 0);   // 447 minutes
Math.round(total / 60);                             // 7    the "about 7 hours" card (7.45 rounded)
Math.round(total / 30 / 7);                         // 2    weeks at 30 min a day, every day
Math.min(...minutes) + "-" + Math.max(...minutes);  // 4-26 minutes per lesson

每天 30 分钟算下来是多久

  • 只算课程正文:447 ÷ 30 = 14.9 次。15 个半小时就能走完全部 40 课。首页卡片上那个“约 2 周”就是这么来的,Math.round(447 ÷ 30 ÷ 7) —— 而且它默认你每天都不落。

  • 要是周末休息,同样这 14.9 次就变成了 3 周:14.9 ÷ 5。

  • 再把练习加进来 —— 首页本来就写着这部分另算:17.6–23.1 小时 = 1,055–1,385 分钟 = 35–46 次。每天学:5–6.5 周。每周 5 次:7–9 周。对这个问题的老实答案就是这里 —— 每天半小时,一到两个月。

  • 30 分钟够上一节课吗?够,但很紧:平均是 447 ÷ 40 = 11.2 分钟,首页卡片给的范围是 4–26 分钟。练习那 20–26 分钟一次就几乎占满。

  • 换个分法,总分钟不变:45 分钟 × 每周 4 个晚上 = 每周 180 分钟 —— 课程 2.5 周走完,连练习一起 6–8 周。除数要用你真实拥有的那一周,不是你打算拥有的那一周。

为什么别人的数字不一样

  • 2D 还是 3D。这门课是 3D:贴着 collider 滑行的 CharacterController、要驯服三个轴的摄像机、lightmap、LOD、draw call 预算。你读到的“两周”多半说的是 2D —— sprite、一张 Tilemap、一个平面上的移动。这门课首页自己就把 2D 和 sprite 列进了“不讲什么”,所以上面那 447 分钟不能拿去跟 2D 的数字比。

  • 素材是现成的,还是你自己做。上面每个数字都是代码和搭场景,而且正因为允许用胶囊体才压得到 447 分钟 —— “不用会 3D 建模,胶囊体就够了”是站里真实存在的一句话。要是你自己 model、自己 rig、自己给一个会走路、会出拳、会给出受击反馈的角色做动画,上面哪张表都描述不了你的一周。

  • 有人帮你改,还是没人管。5 道练习最后都有一份定义“做完了”的 checklist —— 而这个站上没有任何东西会替你打勾。第 02 章埋下的错,常常要到第 04 章才现形,那时代价不是犯错那十分钟,而是把它找出来的那个下午。

  • 还有最便宜的那根杠杆,一分学习时间都不多花:缩小游戏范围。没有任何一条路能靠“让你学快点”把 18–23 小时压成 5 小时。一座竞技场、一个画面、三个敌人、不做子菜单、不做云存档 —— 那就是个做得完的游戏,而这五章本来就是照着这个形状削出来的。

这一页上所有数字都是时间,不是工资。一个页面先告诉你“几个月能就业”,紧接着下一行就向你推销训练营,那前面那句就是为后面那句写的。

你比必要的更慢的几个信号

  • 教程循环:学完一门就开下一门,自己的 project 一次都没打开。检验只看一个文件夹 —— 你的 Projects 里有多少个 scene 是不用旁边开着视频也能跑的?半年之后还是 0,那你就在循环里,再多的新教材也破不了它 —— 只有一个丑但已经做完的东西可以。

  • 每次现在的引擎不好玩了就换引擎。每换一次,你学到的是那个编辑器怎么打开一个 project,而不是什么新的游戏机制 —— 让你在 Godot 里卡住的那处,在 Unity 里一样难。

  • 永远做不完。三个 90% 的项目谁都玩不了、拿不出手、也教不了你什么;一个能在真机上跑的构建却三样都行。这门课专门为最后一步留了 3–5 小时 —— 数字故意定得这么小,好让谁都没借口跳过。

  • 只读代码不动手敲。每课里的代码块存在的意义就是让你重打一遍、跑起来、再故意弄坏一次。因为“我看懂了”就跳过去,你丢掉的恰好是唯一能带进下个项目的部分。

最短的那条路,但不是捷径

  1. 1

    一个项目,一个场景。这门课在五章里养大的就是同一个 Arena.unity:第 01 章你搭的那块地面,就是第 05 章成品跑在上面的那块地面。没有任何东西要被丢掉,也没有哪一课是做完就扔的例子。

  2. 2

    五章按顺序全走完,不跳:100 → 114 → 67 → 83 → 83 分钟。每章末尾都有一道练习,而练习正是把“读过”变成“会做”的地方 —— 也因此它是跳过时看着最划算、结账时最贵的那一步。

  3. 3

    发布到真机。第 05 章是 57 分钟的课程,外加练习那一行的 26 分钟 —— 而题目要的是 3–5 小时,结尾是一个跑在你自己手机上的 APK。等你走到那里,这一步有单独一篇指南,链接就在此页末尾。

  4. 4

    把你真正花掉的小时数写下来。这门课的预测是 18–23 小时。能描述你下个项目的只有你自己的数字 —— 而它也正是这门课的量表上唯一没有的那一格。

检查清单,按这个顺序

  • ✓你手上只有一个项目,不是两个。有两个,那就是上面一节的信号第一条。
  • ✓35 节正文课全读完,一节都没跳过:纸面上 335 分钟。
  • ✓第 1 关做完了:地面、代码生成的方块网格、用 1/2/3 切换的三个角色 —— 正好是题目要的 60–90 分钟。
  • ✓第 2–4 关做完了:能在方块之间跳、实打实输给三个敌人一次、全程一根拇指操作,并且装扮好的竞技场稳在 60 FPS。
  • ✓第 5 关做完了:APK 能装进你的手机,并且关掉编辑器也照样跑。
  • ✓把你的真实用时写下来,和 18–23 小时对照一下。两者之间的差,就是留给你下一个游戏的数字。

第 01 课只要 4 分钟,并且假设你一行代码都没写过;到第 35 分钟,屏幕上就已经有一个 3D 场景了。等你走到最后一章,把这个构建弄上真机这件事另有一篇指南: 从项目到真机上的 APK。

做出这个的那一课

60 秒看懂 C#:变量

这篇指南单独成篇,是一份可以直接照着做的配方。在课程里,同样的东西会作为贯穿全部五个章的那个项目的一部分来搭建 —— 基础,第 01 课。