爆肝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 获得其它组件......
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值