介绍了微信小游戏的概念以及相关的由来,从宏观上对于微信小游戏的定位和价值有一个明确的认识1-1 导学介绍 (10:45)1-2 什么是微信小游戏 (13:02)1-3 微信小游戏与H5小游戏 (16:05)1-4 为什么要学习微信小游戏 (07:55)1-5 【讨论题】哪些游戏可以在微信小游戏平台上开发?
第2章 微信小游戏平台与特性讲了微信小游戏平台的相关特性,包括微信小游戏工程的建立,微信小游戏开发工具的详细使用,以及微信小游戏相关API的实战等2-1 微信开发者工具介绍 (04:22)2-2 小游戏项目工程初始模板建立 (02:48)2-3 微信开发者工具(模拟器介绍) (05:13)2-4 微信开发者工具(编辑器介绍) (10:24)2-5 微信开发者工具(调试器介绍) (12:00)2-6 【讨论题】微信小游戏是个什么样的平台?
第3章 THREEJS与WebGL核心概念通过理论和实战,讲解了什么是webgl、什么是threejs以及两者的关系,并且介绍了相关webgl渲染管线的内容3-1 什么是webgl —— 理论部分(概念) (11:33)3-2 什么是webgl —— 理论部分(GPU业务场景) (07:16)3-3 什么是webgl —— 理论部分(如何对CPU进行编程) (13:07)3-4 webgl实战shader的创建和绑定 (14:08)3-5 webgl实战静态三角形的绘制(1) (16:36)3-6 webgl实战静态三角形的绘制(2) (15:28)3-7 webgl实战旋转三角形的绘制 (13:09)3-8 webgl实战动态的旋转三角形的绘制 (14:49)3-9 【讨论题】谈一谈纹理管理3-10 threejs理论部分 (08:02)3-11 threejs 绘制旋转三角形(场景渲染) (08:59)3-12 threejs绘制旋转三角形(动态效果) (16:47)
第4章 项目结构对四个迭代版本,进行了详细的需求分析,并且对项目的整体结构进行了详细的介绍,包括项目目录设计、threejs框架在小游戏平台的集成、weapp-adapater源码分析和编译等4-1 项目需求分析 (12:16)4-2 MVP项目结构 & 设计 &分析 (20:32)4-3 MVP基本项目结构搭建(引入three.js) (10:59)4-4 小游戏平台(旋转三角实战) (16:48)4-5 小游戏平台(旋转三角实战完善) (04:46)4-6 MVP基本项目结构搭建完成 (07:48)4-7 【讨论题】我们常听到的页面交互相关的设计模式
第5章 基本场景搭建(场景和视角)详细讲解了webgl渲染管线中的视图矩阵和投影矩阵的推导,并且在webg相关demo中进行了实现,进而实战了threejs的WebGLRenderer、Scene和Camera,剖析其webgl中对应的原理,并开发出跳一跳小游戏的整体场景布局5-1 基本场景搭建 —— 本章核心内容 (03:26)5-2 基本场景渲染理解 (18:08)5-3 投影矩阵数学推导 (23:33)5-4 视图矩阵推导 (09:50)5-5 视图矩阵webgl开发 (12:26)5-6 透视投影矩阵webgl开发 (14:06)5-7 正交投影矩阵webgl开发 (08:52)5-8 【学习任务】实现mvp矩阵(模型矩阵、视图矩阵、投影矩阵)5-9 mvc基础 (16:29)5-10 游戏page的搭建 (18:01)5-11 mvc中的event (03:39)5-12 2d画布绘制能力在threejs中的整合 (22:37)5-13 使用mvc完成页面切换 (12:52)5-14 scene和camera的设置 (24:33)5-15 es6的继承多态开发block (14:04)5-16 【讨论题】你了解 es6 中 class 的概念么?
第6章 基本场景搭建( 光照和阴影)从webgl原理和实现和threejs光照和阴影实战,全方位的去讲解场景中的光照与阴影的搭建6-1 cube的开发思路 (04:04)6-2 光照的原理 (23:31)6-3 索引绘制 (05:39)6-4 arraybuffer讲解 (09:42)6-5 cube的绘制 (22:43)6-6 平行光下的漫反射 (19:02)6-7 点光源下的漫反射 (06:09)6-8 phong模型漫反射下的球体的绘制 (12:00)6-9 纹理、阴影、帧缓冲区 理论 (14:40)6-10 webgl砖块纹理实现(1) (13:42)6-11 webgl砖块纹理实现(2) (17:35)6-12 webgl砖块纹理实现(3) (14:37)6-13 shadow map对应shader的开发 (14:02)6-14 新建framebuffer和对应的纹理 (05:30)6-15 渲染缓冲区及framebuffer的关联对象 (12:58)6-16 在shader中使用shadow map (15:00)6-17 shader的数据准备 (17:35)6-18 绘制时进行shader的切换 (11:27)6-19 threejs场景设置光照 (10:53)6-20 threejs场景增加背景和地面 (15:13)6-21 threejs场景增加阴影 (09:08)6-22 【讨论题】单元测试的重要性以及如何为工程做好单元测试?6-23 用webgl和threejs完成带阴影和纹理的旋转砖块开发
第7章 基本游戏逻辑开发在本章中,实现了基本游戏逻辑的开发,包括物理引擎、碰撞检测、跳跃逻辑等等模块,完成跳一跳游戏的基本功能7-1 bottle绘制分析 (06:56)7-2 bottle head部分的绘制 (17:34)7-3 bottle bottom部分的绘制 (06:09)7-4 bottle body部分的绘制 (13:02)7-5 threejs纹理映射&bottle纹理高光 (18:25)7-6 bottle head部分旋转 (03:27)7-7 动画过程分析 (10:41)7-8 动画库基本逻辑开发 (14:09)7-9 线性动画的实现 (13:36)7-10 ease mode的介绍和应用 (04:38)7-11 跳跃逻辑分析 (08:22)7-12 跳跃模型旋转开发 (14:51)7-13 bottle按压收缩的过程 (10:36)7-14 block压缩开发 (11:47)7-15 斜上抛运动过程分析 (07:02)7-16 斜上抛运动代码开发 (16:38)7-17 【学习任务】使用 threejs 完成 bottle 压缩弹7-18 碰撞检测(1) (15:57)7-19 碰撞检测(2) (15:11)7-20 使用pointInPolygon判断碰撞状态 (17:12)7-21 实时碰撞检测 (05:57)7-22 实时碰撞检测调试 (18:58)7-23 nextBlock的更新逻辑 (12:15)7-24 碰撞检测调试 (08:11)7-25 跳跃落地效果优化 (06:29)7-26 gameover重启游戏逻辑的开发 (19:29)7-27 积分逻辑的开发 (19:06)7-28 【讨论题】一个网页中多个渲染场景如何开发实现?
第8章 版本迭代在本章中主要进行了声音的集成和动画细节的优化,深入实战了threejs的各种能力和微信小游戏的api,并且了解了游戏的开发字节,完成之后一个完整的跳一跳游戏功能的版本就完成了。8-1 音频管理模块开发 (12:03)8-2 跳跃过程增加音效 (06:34)8-3 坠落逻辑补充+动画库升级停止所有动画能力 (12:59)8-4 坠落动画的开发 (13:42)8-5 block增加image纹理样式 (11:55)8-6 彩色block的开发 (09:32)8-7 粒子聚集效果 (25:09)8-8 粒子散开效果 (09:54)8-9 【学习任务】实现bottle周围的粒子效果8-10 跳跃增加分数的动画 (15:35)8-11 跳跃轨迹的开发 (08:07)8-12 【讨论题】threejs 渲染多少元素会开始卡顿?
第9章 排行榜与发布在本章中主要进行了排行榜的开发,和游戏最终的一些调优,并打通游戏的发布流程,完成本章后跳一跳游戏全部的功能和打包就完成了。9-1 开始游戏页面开发 (11:44)9-2 数据链中的开放数据域和主域的概念 (08:27)9-3 开放数据域实战 (11:26)9-4 使用sharedCanvas绘制排行榜 (17:55)9-5 【学习任务】使用小游戏中的sharedCanvas开发排行榜9-6 webgl开发数据的性能问题 (05:08)9-7 内存分析 —— heap snapshot (09:55)9-8 内存分析 —— 基于js function的allocation profile (02:56)9-9 内存分析 —— 内存泄漏分析的allocation timeline (03:32)9-10 performance分析cpu、gpu和painting等过程 (12:48)9-11 预览和发布.. (08:45)9-12 小游戏其他内容 (02:51)9-13 【讨论题】你用chrome devtools做过哪些事情呢?
第10章 课程总结对课程之前学习的内容进行总结,形成以threejs和微信小游戏两个技术块为核心的技术栈,全面形成3d开发的技术思维10-1 本课程总结 (08:01)10-2 【讨论题】在本课程中你最大的收获是什么?