爆肝200+小时,总结出的 Creator 3.x 入门修炼指南!完全免费

大家好,我是晓衡!

为了写这篇文章,给支持公众号的读者们一个交代,我准备了200+小时,公众号断更11天。我决定,不再选择逃避,不想再欺骗自己了。

c58065eff4b18f12311206ebc83781b3.png

2023新年开工,不到十天时间,接二连三有小伙伴找到晓衡,恳求推荐一些 Cocos Creator 3.x 的学习方法或入门课程,而且课程最好是付费的。

dfb2880df906e9803200bd1cb9c353b4.jpeg

承蒙老铁们的信任,让我倍受感动,但又让我感到异常尴尬!

因为有好多东西,我也不会。

还有就是,偌大的一个 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 站,视频链接我已放到了文章末尾。

9e38dc60f29187509af47f7a83376590.png

请注意,晓衡这里提供的是一条学习路径!需按从上到下的顺序依次学习。

选出的这5套视频教程,我是从内容的宽度、深度、课程节奏感,并结合多年来了解到的新手常见问题,等诸多方面去感受和评估。

遵循由浅入深,循序渐进原则,只要你对游戏开发感兴趣,会使用计算机软件,可以大胆放手去尝试。

可能有人会尖叫,要学5门课程啊?入门教程找一个适合自己段位的,不行吗?为什么要搞这么多呢?

起初我也是这么想的,但正本文开头所说,一些老铁们遇到的情况,以及晓衡这两年来的切身感受。

单门的教程,无法做到同时兼顾引擎知识点的宽度和深度,游戏案例不够多样化,学习效果不太是必然的。

而且从 2D 到 3D 这个跨越难度,不是通过几个小时的视频学习就能轻易跨越,做个不太恰当的比喻,就好像:

在斗破苍穹中,要成为一名斗师,你需将自身的斗气从一段练至九段。

凡人修仙传中,要想成为一名正真的修仙者,需要经过炼气期的一至九层的修炼。

游戏开发,特别是 3D 游戏开发,同样需要先“炼气”打下根基,我总结以下三方面:

  • 引擎功能基础

  • 编程语言表达

  • 游戏开发经验

像麒麟子的《方块先生》不论是在引擎与编程语言上,都力求专一、简洁、纯粹,特别照顾到初学者的体验。

而像巧哥与 sli97 的教程,更偏重引擎、玩法与编程语言相结合的游戏开发实战。

放空、Blake老师的课程,则是侧重可视化编辑器、3D基础概念、引擎API,细致入微的保姆级教程。

如果你没有太多的 3D 经验,就先去学太多的 3D 概念、界面属性、引擎 API,估计就会像我之前一样,越学越怕。

废话我就不多说了,下面我先介绍 0 ~ 6 层的修练功法与路径,它包含两套功法教程,你大概每天抽 2 小时进行学习的话 7 ~ 10 天就能完成,然后就可以开始创作自己构思的游戏了。Let's Go!

02

麒麟子的《零基础游戏开发入门——方块先生》总共时长2小时9分。

ca3d466386cbfa88f8dc5c6972fdd85f.jpeg

视频我完整看了两遍,第一遍是在去年中秋,大概用了3个小时,一次性看完,几乎没有什么压力。但当时没有去做练习,我一直以为这么简单的游戏,自己肯定能搞定,但实际上......呵呵,你懂的!

第二遍是在 2.7 ~ 2.8 两天,大概用了5个小时。我严格跟着麒麟子视频教程中的思路去操作,并按每集视频,还做了分集源码工程。

8db849ca5e4a5077e6956078c9eef660.png一起来看下《方块先生》所包含的主要知识点:

  • Cocos Creator 引擎下载与安装

  • 引擎编辑器窗口功能与基本操作

  • 3D基础概念:模型、材质、光照、阴影、相机

  • 面向对象编程概念,TypeScript 脚本

  • 3D物理:刚体与碰撞实现游戏核心玩法

  • 关卡设计思路,关卡编辑与预制体

  • 游戏UI逻辑设计思路:按钮事件、系统事件、自定义事件

我再简单说下我对这套视频教程的个人感受:

  1. 一集视频,一个知识点,游戏案例用不上的一概不会讲,没有干扰,最多提示一下相关专题参考(文末我会给大家整理出来);

  2. 一节视频大约5~8分钟,有操作、讲原理、给效果,跟着步骤操作,就能将案例做出来,即时反馈感强;(一定要亲自去练习,不要以为简单,大多数人学不会很大程度上就是自以为是)

  3. 项目共计有 6 个 TypeScript 脚本文件,代码量非常少,除去模板和空行,大概自己写的到不150行,学起来会很轻松。(建议学完后,关掉视频,按自己的思路再实现一遍)

麒麟子的《方块先生》这套视频教程,是我目前所接触到,最适合零基础小伙伴入门的 Creator 3.x 视频教程,而且没有之一。

对于一些有过编程经验,但又像晓衡一样,没经历过 3D 项目经验的人来说,你会发现 3D 好像也没那么复杂。

a90e3d00454f976835b9c2c86378de2c.gif

这张图是我在学完《方块先生》后,开始的一个练习小游戏,暂时取名叫《奔跑吧小鸡》,有没有觉得比《方块先生》更带感呢?

《方块先生》推荐人群:

  • 零基础初学者,会中文与26个英语字的同学

  • 有编程经验,但没有做过游戏的程序员

  • 做2D游戏,希望学习 Creator 3D 游戏开发的同学

推荐指数:★★★★★

难度指数:★☆☆☆☆

必练指数:★★★★★

03

如果你能通关《方块先生》并能自己独立完成一遍游戏,大概能达到“炼气期”的第2 ~ 3层的水平,我们继续!

e398af183fc2134693e9084e8ed4de48.png

接下来是巧哥的《Cocos Creator 从零开始开发 3D 俯视角割草游戏制作》后面我都简称《3D俯视角割草》。看原名,你有没有看出一点什么?

刚开始晓衡也没注意到,把它当成了一门零基础的教程,当我把视频通看了一遍才发现,上当了!标题是“从零开始开发”,而非“零基础开发”。下来我问过巧哥,他对我说:

这套教程不是给零基础准备的,最好是有一定的编程基础。

项目中用到的引擎 3D 功能并不多,侧重点是从零开始,手写游戏的每一行代码,没有用什么库、框库,完全手打。

教程还没有完结,目前B站视频出到30集。但晓衡发现,这并不妨碍我们通过这套视频来进阶学习 Cocos Creator 3D 游戏开发。原因有三点:

  1. 《方块先生》是先讲引擎3D ,后讲游戏UI,而《3D俯视角割草》是先讲游戏UI,再讲3D,最后是3D、游戏逻辑、UI的融合,前期同时会讲更多的引擎编辑器的运用;

  2. 如果你有 Creator 2.x 开发经验,可以直接用这套视频上手 Creator 3.x 逐渐从 2D 过渡到 3D;

  3. 不用担心会遇到什么复杂的算法,割草不是核心,它仅仅是游戏的核心玩法而已。重点是,一个3D游戏它是怎么炼成的。

因此《3D俯视角割草》我把设定位为《方块先生》的进阶教程,以下是主要学习内容,请注意加粗的文字:

  1. 开发环境搭建,代码调试方法;

  2. 引擎编辑器窗口功能与操作,项目资源管理

  3. 游戏UI开发设计:屏幕适配、UI策略与管理、自定义UI组件、内置常用UI组件

  4. 常用设计模式和工具:事件机制、数据存档、状态机、单例模式、内存池

  5. 引擎物理系统:刚体、碰撞、3D角色的物理移动与旋转

  6. 动画系统:动画编辑、动画挂点帧事件

  7. 角色设计:玩家、怪物的逻辑实现与管理(游戏开发经验

  8. 技能设计:技能、特效的逻辑实现与管理(游戏开发经验

整个视频教程的前 20 集,难度比较平稳,主要以实现游戏 UI 逻辑,讲解引擎内置 UI 组件的使用。

同时,巧哥还会分享独特的 UI 开发经验,我也算是个老 UI 程序员了, 而巧哥所讲的 UIRoot 的开发思路,让人别开生面。

但到了最后 10 集左右,难度就开始陡峭起来了,综合运用到以下能力:

  • 更多的引擎 API 的使用,而非可视化的组件

  • 一些你可能没见过 TypeScript 语法表达方式

  • 对代码性能考虑,涉及到的一些编码优化技巧

  • 涉及一些 3D 向量数学的计算

  • 游戏逻辑代码框架,模块化的游戏开发经验

你看视频会发现,UI章节讲完过后,涉及游戏核心玩法部分,巧哥的编码速度、思路比之前要快,一些数学计算、API参数没看懂可以下来查文档,但设计思路、代码逻辑一定要跟上并理解。

而且有一些章节,巧哥在写完代码后,没有立即演示效果,就说拜拜了,可能对新手没有那么友好,我建议你在看完后,一定要去做练习(我猜测,巧哥为了控制每集视频的时长,在后期剪辑时,将一些认为不重要的内容剪掉了)。

《3D俯视角割草》的教程后期,会涉及引擎功能、编程语言、玩法实现、UI逻辑等多方面的融合。

如果没有源码在手,而是要跟着视频一行一行地敲代码,估计你会学得非常辛苦,这也是我为什么要费尽心思,邀请巧哥将代码上架到 Cocos Store 的原因(下载链接我放到了文章末尾)。

c5f08b8cfaffd3e6530a88b8265ba587.png

初学者经常缺乏这方面经验:学会了游戏引擎的功能,却不知如何将其应用于具体游戏设计中以解决问题。

而巧哥这套《3D俯视角割草》视频教程,除了讲解 Creator 3.x 引擎知识外,同时也是在传授游戏开发的实战经验和设计思路。

如果能将教程中的知识点吸收殆尽,我相信,自己的3D游戏开发水平将会有质的飞跃,至少能冲到“炼气期”的第5层,甚至达到第6、7层。

47983f3d56c2a62076f02377fba381c6.png

《3D俯视角割草》推荐人群:

  • 没有引擎基础,但要有点编程经验的同学

  • 做过 2D 游戏开发经验,想尝试学习 3D 游戏开发的同学

  • 对 3D 角色 RPG 游戏感兴趣的同学

推荐指数:★★★★★

难度指数:★★★☆☆

必练指数:★★★☆☆

04

如果你感觉《3D俯视角割草》的后期有一定的难度,可以先放缓一点,有些东西,需要时间的沉淀。

能将源码看明白,就可以接着学习放空老师的《3D打飞机》,这是一套保姆级教程,手把手教学,深入学习 Cocos Creator 引擎编辑器与组件化开发的知识。

还有另外还有两套入门视频教程,晓衡目前只看到60%~70%,还没有总结好,后面找机会再来分享。

我接下来再说一个,常常被初学者忽略,而又是真正的大佬们,经常使用到的两件法宝:官方文档手册引擎API

Cocos Creator 用户手册

f3451dc10f0597732c9ea16f8e72977f.png

比如,你在闭卷手写《方块先生》时,突然忘记了物理碰撞事件怎么监听了,你可以直接在文档手册中搜索:物理事件

8f3142e38e053b017a3635bb042f6b94.png

你在视频教程中接触到的一些专业术语、名词、概念,强烈建议你通过文档手册中搜索出来,并仔细阅读。

有可能你会说,我看过呀,就是看不太懂!这个没关系,现在看不懂很正常的。

打个照面,混个脸熟!你先通过文档了解引擎的大致功能范围,最好是把它当做一本 Cocos Creator 的入门教科书,一本引擎字典大全来对待,有遇到不清楚的就在这里查。

没事就多翻翻,一些灵感或解决方法,或许就来源于一天晚上,你辗转难眠之时,不经意随手翻到的一个API,在此之前,怎么都看不明白。

Cocos Creator 引擎 API 手册

自从去年 Creator 3.4.0 发布,新版 API 手册也同时上线,文档美观易用,一直被社区开发者垢病的 API 文档问题终于被解决。

16e09b08e619a4962c6aae251d1bc241.png

有遇到搞不明白的引擎接口,直接往这里丟,比如你想了解更多 NodePool  节点池使用方法、接口、示例都可以在这里找到。

027b24881ed4e1c8eeacd1733f3e955f.png

浏览、阅读引擎官方文档,是修炼游戏开发的重要途径。如果说将视频教程,看成是技法招式的话,那研读引擎文档,就好比修仙者们日常的冥想、吐纳、练精化气。

因此,只有将视频教程与官方文档相结合的学习方式,才能帮助到你,在脱离教程、源码之后,能独立开发出自己构思的游戏。

05

不论是视频教程,还是文档手册,其实它们都是在做知识的输入,只做到了学习的前半部分『学』字。

而真正想习得一个新的技能,是需要经历一个『学』『习』的完整闭环,它包含:输入→内化→输入→反馈→再输的过程,周而复始。

71a38f6679f27fd34537d7955c62be88.png

因此,学完教程后的练习是绝对必要的。

我的学习方法是,刚开始先跟着教程中的案例做一遍,后面再尝试关掉视频和源码,并根据自己理解和文档的支持,再实现一遍。

这样可以检验到,我有哪些地方还没搞明白,没记清楚或已经忘记了,先做一遍对内反馈

再进一步,我会在教程中的游戏案例基础上,对美术外观游戏玩法加以改进。并将修改后的游戏 Demo 通过H5、小游戏等方式,分享给朋友,分享到社区,这样能够获得更多的外部反馈和有效激励

3296b9a91d4f10bb791cc488d53f18a2.gif

在开发的过程中,我也会尝试以图片、视频的方式分享到朋友圈,获得即时的满感。

总之,要尽可能想办法,去完成整个学习的闭环过程,如果再能写出总结性的心得、体会那效果就更好了。

06

没想到写了这么多,如果这篇文章能为你带来哪怕是一丁点的帮助,提升你一点信心,能让你有所期待,遇见更好的自己,也或许在未来的某个时刻,能让你真正的行动起来,我就感到非常地满足了!

最后,特别感谢,一直在 Cocos 社区坚持长期分享技术、经验的大佬们!下面是本文推荐的5门视频教程链接,建议保存收藏,也欢迎分享给需要的朋友 。

  • 麒麟子《方块先生》

     
       
    https://www.bilibili.com/video/BV1vK411d7vn
  • 好巧啊c《3D俯角割草游戏》

     
       
    https://www.bilibili.com/video/BV1Jd4y1c7bS
  • 放空《3D空战射击打飞机》

     
       
    https://www.bilibili.com/video/BV1HY411H7V5
  • Sli97《Cramped Room Of Death》

     
       
    https://www.bilibili.com/video/BV1JL4y1M7Y4
  • Blake《Cocos Creator 3.0 零基础新手入门教程》

     
       
    https://bilibili.com/video/BV1dF411W7nA

参考资料

Cocos引擎官方文档
  • Cocos Creator 用户手册

     
        
    https://docs.cocos.com/creator/manual/zh/#
  • Cocos Creator API文档

     
        
    https://docs.cocos.com/creator/api/zh/

麒麟子《3D游戏开发必学引擎知识》

  • 天空盒动态更换与IBL效果

     
        
    https://forum.cocos.org/t/cocos-creator-3d-ibl/96623
  • 超级实用的后期效果框架

     
        
    https://forum.cocos.org/t/topic/123519
  • 实时水面渲染方案

     
        
    https://zhuanlan.zhihu.com/p/486631970
  • 用实时反射Shader增强画面颜值

     
        
    https://zhuanlan.zhihu.com/p/475696435

感谢关注晓衡公众号,愿我们一起砥砺前行,共同成长!

Cocos-Creator开发(来自于网络).pdf 目录 目录.....................................................................................................................................................2 第一章 JavaScript 快速入门...........................................................................................................8 1.1 变量.......................................................................................................................................8 1.2 函数......................................................................................................................................8 1.3 返回值..................................................................................................................................9 1.4 if/else 语句...........................................................................................................................9 1.5 JavaScript 数组(Array)...............................................................................................10 1.6 JavaScript 对象(Object).............................................................................................10 1.7 匿名函数............................................................................................................................12 1.8 链式语法............................................................................................................................13 1.9 This......................................................................................................................................14 1.10 运算符 ..............................................................................................................................14 1.11 总结...................................................................................................................................15 第二章 创建和使用组件脚本 ........................................................................................................18 2.1 创建组件脚本....................................................................................................................18 2.2 编辑脚本...........................................................................................................................19 2.3 添加脚本到场景节点中...................................................................................................19 第三章 使用 cc.Class 声明类型...................................................................................................21 3.1 定义 CCClass....................................................................................................................21 3.2 实例化................................................................................................................................21 3.3 判断类型...........................................................................................................................21 2 3.4 构造函数...........................................................................................................................21 3.5 实例方法...........................................................................................................................22 3.6 继承 ...................................................................................................................................22 3.7 声明属性 ...........................................................................................................................23 第四章 CCClass 进阶参考 ............................................................................................................29 术语...........................................................................................................................................29 4.1 原型对象参数说明............................................................................................................29 4.2 判断类型...........................................................................................................................31 4.3 成员...................................................................................................................................32 4.4 继承...................................................................................................................................35 4.5 属性...................................................................................................................................38 4.6 属性参数...........................................................................................................................39 4.7 GetSet 方法......................................................................................................................49 4.8 editor 参数 .......................................................................................................................52 第五章 访问节点和组件.................................................................................................................55 5.1 获得组件所在的节点........................................................................................................55 5.2 获得其它组件......
学习本课程至少节省3-7天时间!荐语:3.0的版本我个人觉得非常好用!使用下来开发效率明显提升了不少    但是!    3.0对于2.x的版本来言改变较大    近日有开发者们在群里有发抱怨    “资料实在太少了”,“有没有例子呀???”          甚至现2.0项目移植到3.0过程中,现卡问题的情况     主要原因是:对新的代码架构不熟悉,老接口不知道如何转换        从而浪费大量了的时间摸索,导致了项目进度没有确定性        为此制作了这期课程和项目     对于有经验的开发者,只需要阅读源码即可快速过渡到3.0     对于新手用户也有详细的视频教程    学习本课程至少节省3-7天时间! 课程目录01搭建开发环境02 搭建游戏场景03 控制猫移动04生成无缝地图05生成障碍物和鱼06 碰撞检测+动画编辑器07 UI模块09 动态加载资源-复活页010 场景切换010 声音模块+数据存取011 场景设置+课程总结 知识点包括开发环境的搭建和断点,通过VScode进行编译和运行资源导入和导3d编辑器的使用模型材质的设置和优化动画系统的使用(动画编辑器+配置模型动画)预制体的制作和使用ui制作和ui适配碰撞器                       游戏编码设计和架构代码动态加载资源,切换场景数据存取声音模块ui管理类单例模式对象池理解脚本生命周期碰撞检测 以上是 学习任何开发引擎都要经过步骤和思想课程的设计是一款已经上线并且的盈利的项目把游戏工业化中最常用的功能整理,并且精简来之所以这样设计,是为了把教学和商业实战结合起来把学习的时间和成本降到最低
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值