爆肝200+小时,总结出的 Creator 3.x 入门修炼指南!全免费
大家好,我是晓衡!
为了写这篇文章,给支持公众号的读者们一个交代,我准备了200+小时,公众号断更11天。我决定,不再选择逃避,不想再欺骗自己了。
2023新年开工,不到十天时间,接二连三有小伙伴找到晓衡,恳求推荐一些 Cocos Creator 3.x 的学习方法或入门课程,而且课程最好是付费的。
承蒙老铁们的信任,让我倍受感动,但又让我感到异常尴尬!
因为有好多东西,我也不会。
还有就是,偌大的一个 Cocos 社区,据我所了解的付费课程,却是九牛一毛。
而我真实体验过的 Creator 付费课程,那是我自己曾在 2020 年时搞的 Creator 修仙训练营了。遗憾的是,那是基于 Creator 2.x 的,Creator 3.x 对晓衡来说,我也只能算是个新手。
付费的课程没有,但 Cocos 社区免费的教程,我倒是知道不少:
- 放空老师的《快上车》、《3D打飞机》
- 麒麟子的《方块先生》
- Blake老师的《幽灵射手—源码实战分析》
- sli97的《Cramped Room Of Death》
- 巧哥的《3D俯视角割草游戏》
- ......
不过有小伙伴表示,上面的视频有些也尝试学习过,像引擎安装、下载、换皮......倒是学会了好几遍。
但是,要自己去实现一个功能时,总是在各种小问题上,就被卡住了。
学习资料找了不少,但大佬们分享的游戏源码、技术文章,仍然是看不懂、学不会......只能在大佬面前喊666!
01
上面这些问题,晓衡自问,自己也何尝不是如此?
自从 2020 年开始,我从一名程序员转型自媒体+运营,虽然一直社区中分享 Cocos Creator 相关的教程、案例、资源,但我个人的游戏开发水平,基本上还停留在 Creator 2.x 的时代。
随着 Creator 3.x 的越发普及,越来越多的 3D 相关的游戏、应用、教程、资源等需求不断增涨......我那点技术水平,究竟还能帮助到大家些什么呢?
为此,晓衡再三思量,翻遍了B站上成体系的 Creator 3.x 视频教程,完全以初学者的姿态,去亲身体验、观摩、学习...惊喜地发掘出一条适合 Creator 3.x 初学者的学习路径和修炼方法。
整理出 5 套免费视频教程,来源于 B 站。
请注意,晓衡这里提供的是一条学习路径!需按从上到下的顺序依次学习。
选出的这5套视频教程,我是从内容的宽度、深度、课程节奏感,并结合多年来了解到的新手常见问题,等诸多方面去感受和评估。
遵循由浅入深,循序渐进原则,只要你对游戏开发感兴趣,会使用计算机软件,可以大胆放手去尝试。
可能有人会尖叫,要学5门课程啊?入门教程找一个适合自己段位的,不行吗?为什么要搞这么多呢?
起初我也是这么想的,但正本文开头所说,一些老铁们遇到的情况,以及晓衡这两年来的切身感受。
单门的教程,无法做到同时兼顾引擎知识点的宽度和深度,游戏案例不够多样化,学习效果不太是必然的。
而且从 2D 到 3D 这个跨越难度,不是通过几个小时的视频学习就能轻易跨越,做个不太恰当的比喻,就好像:
在斗破苍穹中,要成为一名斗师,你需将自身的斗气从一段练至九段。
凡人修仙传中,要想成为一名正真的修仙者,需要经过炼气期的一至九层的修炼。
游戏开发,特别是 3D 游戏开发,同样需要先“炼气”打下根基,我总结以下三方面:
- 引擎功能基础
- 编程语言表达
- 游戏开发经验
像麒麟子的《方块先生》不论是在引擎与编程语言上,都力求专一、简洁、纯粹,特别照顾到初学者的体验。
而像巧哥与 sli97 的教程,更偏重引擎、玩法与编程语言相结合的游戏开发实战。
放空、Blake老师的课程,则是侧重可视化编辑器、3D基础概念、引擎API,细致入微的保姆级教程。
如果你没有太多的 3D 经验,就先去学太多的 3D 概念、界面属性、引擎 API,估计就会像我之前一样,越学越怕。
废话我就不多说了,下面我先介绍 0 ~ 6 层的修练功法与路径,它包含两套功法教程,你大概每天抽 2 小时进行学习的话 7 ~ 10 天就能完成,然后就可以开始创作自己构思的游戏了。Let's Go!
02
麒麟子的《零基础游戏开发入门——方块先生》总共时长2小时9分。
视频我完整看了两遍,第一遍是在去年中秋,大概用了3个小时,一次性看完,几乎没有什么压力。但当时没有去做练习,我一直以为这么简单的游戏,自己肯定能搞定,但实际上......呵呵,你懂的!
第二遍是在 2.7 ~ 2.8 两天,大概用了5个小时。我严格跟着麒麟子视频教程中的思路去操作,并按每集视频,还做了分集源码工程。
一起来看下《方块先生》所包含的主要知识点:
- Cocos Creator 引擎下载与安装
- 引擎编辑器窗口功能与基本操作
- 3D基础概念:模型、材质、光照、阴影、相机
- 面向对象编程概念,TypeScript 脚本
- 3D物理:刚体与碰撞实现游戏核心玩法
- 关卡设计思路,关卡编辑与预制体
- 游戏UI逻辑设计思路:按钮事件、系统事件、自定义事件
我再简单说下我对这套视频教程的个人感受:
- 一集视频,一个知识点,游戏案例用不上的一概不会讲,没有干扰,最多提示一下相关专题参考(文末我会给大家整理出来);
- 一节视频大约5~8分钟,有操作、讲原理、给效果,跟着步骤操作,就能将案例做出来,即时反馈感强;(一定要亲自去练习,不要以为简单,大多数人学不会很大程度上就是自以为是)
- 项目共计有 6 个 TypeScript 脚本文件,代码量非常少,除去模板和空行,大概自己写的到不150行,学起来会很轻松。(建议学完后,关掉视频,按自己的思路再实现一遍)
麒麟子的《方块先生》这套视频教程,是我目前所接触到,最适合零基础小伙伴入门的 Creator 3.x 视频教程,而且没有之一。
对于一些有过编程经验,但又像晓衡一样,没经历过 3D 项目经验的人来说,你会发现 3D 好像也没那么复杂。
这张图是我在学完《方块先生》后,开始的一个练习小游戏,暂时取名叫《奔跑吧小鸡》,有没有觉得比《方块先生》更带感呢?
《方块先生》推荐人群:
- 零基础初学者,会中文与26个英语字的同学
- 有编程经验,但没有做过游戏的程序员
- 做2D游戏,希望学习 Creator 3D 游戏开发的同学
推荐指数:★★★★★
难度指数:★☆☆☆☆
必练指数:★★★★★
03
如果你能通关《方块先生》并能自己独立完成一遍游戏,大概能达到“炼气期”的第2 ~ 3层的水平,我们继续!
接下来是巧哥的《Cocos Creator 从零开始开发 3D 俯视角割草游戏制作》后面我都简称《3D俯视角割草》。看原名,你有没有看出一点什么?
刚开始晓衡也没注意到,把它当成了一门零基础的教程,当我把视频通看了一遍才发现,上当了!标题是“从零开始开发”,而非“零基础开发”。
下来我问过巧哥,他对我说:
这套教程不是给零基础准备的,最好是有一定的编程基础。
项目中用到的引擎 3D 功能并不多,侧重点是从零开始,手写游戏的每一行代码,没有用什么库、框库,完全手打。内容从 Cocos Creator 3.x 2D UI 到 3D 核心玩法,这样一套,完整的游戏开发、设计、编码过程的一套视频。
教程还没有完结,目前B站视频出到30集。但晓衡发现,这并不妨碍我们通过这套视频来进阶学习 Cocos Creator 3D 游戏开发。原因有三点:
- 《方块先生》是先讲引擎3D ,后讲游戏UI,而《3D俯视角割草》是先讲游戏UI,再讲3D,最后是3D、游戏逻辑、UI的融合,前期同时会讲更多的引擎编辑器的运用;
- 如果你有 Creator 2.x 开发经验,可以直接用这套视频上手 Creator 3.x 逐渐从 2D 过渡到 3D;
- 不用担心会遇到什么复杂的算法,割草不是核心,它仅仅是游戏的核心玩法而已。重点是,一个3D游戏它是怎么炼成的。
- 因此《3D俯视角割草》我把设定位为《方块先生》的进阶教程,以下是主要学习内容,请注意加粗的文字:
因此《3D俯视角割草》我把设定位为《方块先生》的进阶教程,以下是主要学习内容,请注意加粗的文字:
- 开发环境搭建,代码调试方法;
- 引擎编辑器窗口功能与操作,项目资源管理;
- 游戏UI开发设计:屏幕适配、UI策略与管理、自定义UI组件、内置常用UI组件
- 常用设计模式和工具:事件机制、数据存档、状态机、单例模式、内存池
- 引擎物理系统:刚体、碰撞、3D角色的物理移动与旋转
- 动画系统:动画编辑、动画挂点、帧事件
- 角色设计:玩家、怪物的逻辑实现与管理(游戏开发经验)
- 技能设计:技能、特效的逻辑实现与管理(游戏开发经验)
整个视频教程的前 20 集,难度比较平稳,主要以实现游戏 UI 逻辑,讲解引擎内置 UI 组件的使用。
同时,巧哥还会分享独特的 UI 开发经验,我也算是个老 UI 程序员了, 而巧哥所讲的 UIRoot 的开发思路,让人别开生面。
但到了最后 10 集左右,难度就开始陡峭起来了,综合运用到以下能力:
- 更多的引擎 API 的使用,而非可视化的组件
- 一些你可能没见过 TypeScript 语法表达方式
- 对代码性能考虑,涉及到的一些编码技巧
- 涉及一些3D向量数学的计算
- 游戏逻辑框架,代码的模块化
你看视频会发现,UI章节讲完过后,涉及游戏核心玩法部分,巧哥的编码速度、思路比之前要快,一些数学计算、API参数没看懂可以下来查文档,但设计思路、代码逻辑一定要跟上并理解。
而且有一些章节,巧哥在写完代码后,没有立即演示效果,就说拜拜了,可能对新手没有那么友好,我建议你在看完后,一定要去做练习(我猜测,巧哥为了控制每集视频的时长,在后期剪辑时,将一些认为不重要的内容剪掉了)。
《3D俯视角割草》的教程后期,会涉及引擎功能、编程语言、玩法实现、UI逻辑等多方面的融合。
如果没有源码在手,而是要跟着视频一行一行地敲代码,估计你会学得非常辛苦,这也是我为什么要费尽心思,邀请巧哥将代码上架到 Cocos Store 的原因。
初学者经常缺乏这方面经验:学会了游戏引擎的功能,却不知如何将其应用于具体游戏设计中以解决问题。
而巧哥这套《3D俯视角割草》视频教程,除了讲解 Creator 3.x 引擎知识外,同时也是在传授游戏开发的实战经验和设计思路。
如果能将教程中的知识点吸收殆尽,我相信,自己的3D游戏开发水平将会有质的飞跃,至少能冲到“炼气期”的第5层,甚至达到第6、7层。
- 虚拟摇杆:UIJoyStick
- 图片美术字:UIIMageLabel
- 资源管理器:ResourceManager
- UI管理器:UIManager
- 音效管理器:AudioManager
- 特效管理器:EffectManager
如果能将教程中的知识点吸收殆尽,相信你的游戏开发水平将会有质的飞跃,大概能冲到“炼气期”的第5层,甚至达到第6层。
《3D俯视角割草》推荐人群:
- 没有引擎基础,但要有点编程经验的同学
- 做过2D游戏开发经验,想尝试学习3D游戏开发的同学
- 对3D角色RPG游戏感兴趣的同学
推荐指数:★★★★★
难度指数:★★★☆☆
必练指数:★★★☆☆
04
如果你感觉《3D俯视角割草》的后期有一定的难度,可以先放缓一点,有些东西,需要时间的沉淀。
能将源码看明白,就可以接着学习放空老师的《3D打飞机》,这是一套保姆级教程,手把手教学,深入学习 Cocos Creator 引擎编辑器与组件化开发的知识。
还有另外还有两套入门视频教程,晓衡目前只看到60%~70%,还没有总结好,后面找机会再来分享。
我接下来再说一个,常常被初学者忽略,而又是真正的大佬们,经常使用到的两件法宝:官方文档手册 和 引擎API。
Cocos Creator 用户手册
比如,你在闭卷手写《方块先生》时,突然忘记了物理碰撞事件怎么监听了,你可以直接在文档手册中搜索:物理事件。
你在视频教程中接触到的一些专业术语、名词、概念,强烈建议你通过文档手册中搜索出来,并仔细阅读。
有可能你会说,我看过呀,就是看不太懂!这个没关系,现在看不懂很正常的。
打个照面,混个脸熟!你先通过文档了解引擎的大致功能范围,最好是把它当做一本 Cocos Creator 的入门教科书,一本引擎字典大全来对待,有遇到不清楚的就在这里查。
没事就多翻翻,一些灵感或解决方法,或许就来源于一天晚上,你辗转难眠之时,不经意随手翻到的一个API,在此之前,怎么都看不明白。
引擎API手册
自从去年 Creator 3.4.0 发布,新版 API 手册也同时上线,文档美观易用,一直被社区开发者垢病的 API 文档问题终于被解决。
有遇到搞不明白的引擎接口,直接往这里丟,比如你想了解更多 NodePool 节点池使用方法、接口、示例都可以在这里找到。
浏览、阅读引擎官方文档,是修炼游戏开发的重要途径。如果说将视频教程,看成是技法招式的话,那研读引擎文档,就好比修仙者们日常的冥想、吐纳、练精化气。
因此,只有将视频教程与官方文档相结合的学习方式,才能帮助到你,在脱离教程、源码之后,能独立开发出自己构思的游戏。
05
不论是视频教程,还是文档手册,其实它们都是在做知识的输入,只做到了学习的前半部分『学』字。
而真正想习得一个新的技能,是需要经历一个『学』和『习』的完整闭环,它包含:输入→内化→输入→反馈→再输入的过程,周而复始。
因此,学完教程后的练习是绝对必要的。
我的学习方法是,刚开始先跟着教程中的案例做一遍,后面再尝试关掉视频和源码,并根据自己理解和文档的支持,再实现一遍。
这样可以检验到,我有哪些地方还没搞明白,没记清楚或已经忘记了,先做一遍对内反馈。
再进一步,我会在教程中的游戏案例基础上,对美术外观和游戏玩法加以改进。并将修改后的游戏 Demo 通过H5、小游戏等方式,分享给朋友,分享到社区,这样能够获得更多的外部反馈和有效激励。
在开发的过程中,我也会尝试以图片、视频的方式分享到朋友圈,获得即时的满感。
总之,要尽可能想办法,去完成整个学习的闭环过程,如果再能写出总结性的心得、体会那效果就更好了。
06
没想到写了这么多,如果这篇文章能为你带来哪怕是一丁点的帮助,提升你一点信心,能让你有所期待,遇见更好的自己,也或许在未来的某个时刻,能让你真正的行动起来,我就感到非常地满足了!
最后,特别感谢,一直在 Cocos 社区坚持长期分享技术、经验的大佬们!
上面五套视频教程链接,我放在了公众号,回复【888】直接领取。
更多精彩请关注Creator星球游戏开发社区
爆肝200+小时,总结出的 Creator 3.x 入门修炼指南!全免费的更多相关文章
- 利用Python实现FGO自动战斗脚本,再也不用爆肝啦~
Fate/Grand Order(非的肝不过欧的)作为索尼为了拯救自己不倒闭而开发的面向月厨的骗氪养成抽卡爆肝游戏,居然没有像隔壁<阴阳师>的自动战斗系统(看看别人现在都自带脚本了).毕竟 ...
- 无语的index hint:手工分配哈希区,5小时不出结果,优化后20分钟
同事说,有个语句5个小时不出结果,叫我帮忙看看,于是叫同事发过来.不看不知道,一看吓一跳,3个表关联,强制使用了2个index hint,当中一个表9g,一个表67g,另一个小表40Mb.开发者,总以 ...
- 巨幅SQL优化(SQL Tuning)——秒杀十几个小时不出结果的SQL
今天接到用户的需求,某程序十几个小时没出结果了,很纳闷儿,于是让相关人员取了explain plan等信息,拿到explain plan后,搂一眼,就知道问题出在了哪里,explain plan跑偏了 ...
- 极速搞定1小时不出结果SQL的优化(SQL Tuning)
今天帮用户做了一个SQL TUNING,原来为1个多小时不出结果,TUNING后为几秒,图片为我调优时参考的explain plan,隐去某些具体信息,虽然通过该计划,不能完全确定SQL慢的原因,但稍 ...
- 万字长文爆肝 DNS 协议!
试想一个问题,我们人类可以有多少种识别自己的方式?可以通过身份证来识别,可以通过社保卡号来识别,也可以通过驾驶证来识别,尽管我们有多种识别方式,但在特定的环境下,某种识别方法可能比另一种方法更为适合. ...
- ❤️❤️新生代农民工爆肝8万字,整理Python编程从入门到实践(建议收藏)已码:8万字❤️❤️
@ 目录 开发环境搭建 安装 Python 验证是否安装成功 安装Pycharm 配置pycharm 编码规范 基本语法规则 保留字 单行注释 多行注释 行与缩进 多行语句 数据类型 空行 等待用户输 ...
- 优化一个小时不出结果的SQL
今天刚清闲点,在网上看些资料,这时,用户QQ上发来求助,说一个更新数据的SQL语句很慢,都一个小时了也不出结果,于是,了解下具体的情况,略施小计,5s出结果,下面是我分析该SQL时用到的执行计划,略去 ...
- PostGIS 爆管分析之找出总阀门
这个算法算是被摒弃了,但是很多自己思考过后留下的成果,虽然不用了,留着做记录. 算法目的是为了发生爆管后找到总阀门,这里分了几个步骤: 1.找到爆管点所在管段 2.通过遍历找到爆管点所有影响的阀门 3 ...
- PostGIS 爆管分析之找出上游阀门
环境: Win10 ArcMap10.4(用于数据处理) postgresql9.4 postgis2.2.3 pgRouting2.3(postgresql插件) 说明: 继上一篇文章做了爆管分析找 ...
- 使用cookies弹出层每24小时弹出一次
第一步:下载cookies的库 https://github.com/js-cookie/js-cookie 第二步:设置Cookies的失效时间,这里有两种方法,按天计算和按小时计算 functio ...
随机推荐
- O-MVLL代码混淆方式
在介绍O-MVLL之前,首先介绍什么是代码混淆以及基于LLVM的代码混淆,O-MVLL项目正是基于此而开发来的. 有关O-MVLL的概括介绍以及安装和基本使用方式,可参见另一篇随笔 https://w ...
- DID 2022-12-02
DID第二节课 最低工资对就业率影响(DID) 宾夕法尼亚VS新泽西的快餐店,用边界的好处:在用最低工资法之前,两地工资情况差不多,DID需要两期,92年11月实施,之前之后做电话访问. 数据越全的估 ...
- [编程基础] Python日志记录库logging总结
Python日志记录教程展示了如何使用日志记录模块在Python中进行日志记录. 文章目录 1 介绍 1.1 背景 1.2 Python日志记录模块 1.3 根记录器 2 Python logging ...
- Springboot启动时加载
@Component public class SpringBootInitialization1 implements ServletContextListener { @Override publ ...
- NetCore模型绑定之FromBodyFromUriFromQueryFromRoute
title: .Net Core模型绑定之FromBody.FromUri.FromQuery.FromRoute categories: 后端 date: 2022-10-29 17:21:11 t ...
- SPOJ GCDMAT - GCD OF MATRIX
简要题意 给出三个整数 \(T,n,m\),\(T\) 组询问,每组询问给出四个整数 \(i_1,j_1,i_2,j_2\)(数据保证 \(i_1,j_1\leq n\ \ i_2,j_2\leq m ...
- 《线段树学习笔记》 AC代码索引
P3372 [模板]线段树 1 | LibreOJ#132. 树状数组 3 :区间修改,区间查询 #include <bits/stdc++.h> #define int long lon ...
- C#/VB.NET 在Excel中添加水印
在工作中,为了防止文件被随意复制和传播,通常我们会选择在文档中添加水印来对文件进行有效保护.文字水印是比较常见的一种保护手段,它可以有效防止文件被任意复制和随意打印传播.不过,Excel默认并没有水印 ...
- 为什么游戏公司应该选择 Cloud Spanner 来支持他们的游戏?
普华永道最近的一份报告指出,全球游戏行业是过去几年经历显着增长的行业之一,到 2026 年该行业(不包括电子竞技)的价值有望达到 3210 亿美元.过去仅三年时间,该行业就增加了 5 亿玩家,全球玩家 ...
- 反射概述-获取字节码Class对象的三种方式
反射概述 判定结果∶*红色:失败*绿色:成功*一般我们会使用断言操作来处理结果*Assert.assertEquals(期望的结果,运算的结果);补充∶*Before:*修饰的方法会在测试方法之前被自 ...