我对于Three.js案例与技术结构的理解
写在前面的话,也算是我这些年来Three.js学习的一些总结吧,我学习Three.js,前后一共大概2年时间,当然也是断断续续的,因为没有项目驱动,学习也的知识点很难在一个项目中串起来,近一年内我连续开发了几个项目,将之前学的所有知识点串了起来,才真正的做到对Three的融会贯通。
之前自学Three官网的例子,到实操敲代码的时候,真的无从下手,是根本上的两回事,实在是看的云里雾里,尤其是场景、摄像机、render,对于自学Three.js的我们,那么多的陌生API,入门真的是一脸懵,后来自己利用出差时间,晚上回去在纸上默写threejs里面的例子,花了几个晚上默写了好几页纸,算是记住了其中的几个步骤,至今还记得,但是做不到融汇贯通。
后来从同事那索取了一本外文的电子书,里面的案例附有代码解释,1、2、3每一步说的很明白,看了这本书的感觉:“原来是这样的,原来也可以那样”,然后再回来看three官网里面的代码,理解就轻松多了,我学Three.js课程入门就是这本资料《Three.js 小白从入门到实战,案例分析与代码精解》,我觉得这个更贴切想入门Three.js的同学。
下面是资料的目录,当然是谷歌翻译把英文翻译成中文的,个别词汇需要我们去理解,比如“Three.js”翻译为“三.js”,但是结合上下文肯定知道其中是“three.js”的意思,现在谷歌翻译的功能关闭了,要用微软的EDG浏览器翻译。
需要你沉下心来学习,我当初逐字逐句去理解,看着书里的章节对着代码一行一行去理解,看几个案例后,书中的大概意思你能根据上下文知道其中的意思,学习新技术一定要下决心(我当初学blender建模对着油管视放0.25倍速用电子表格记录作用使用的快捷键(快逐帧观看了),我当时就心里暗暗下决心,我TM一定要学会建模,每天晚上10点到凌晨1点(小孩睡着了我才能安静的学)一共花了15个晚上学完建模),当然你现在学,不仅能有汉化电子书,随书代码,还可以加我的微信,其中遇到难点我基本都可以为你解决,缩短你的学习周期和难度,最重要的是帮助你理解知识点。
案例分析与代码:https://www.cnblogs.com/webmaster01/articles/threejs.html
------------------------------------------------以下正文--------------------------------------------------------------
一、Three.js案例涵盖内容
1、Three.js场景的构成
2、Three.js光源类型
3、Three.js几何Geometry
4、Three.js材质Material
5、Three.js粒子系统Pointcloud
6、Three.js声音
7、Three.js物理
二、Three.js 能做什么(官网案例)














三、更多其他案例

四、自己实现这些案例,需要哪些能力?
要想Three.js开发能力游刃有余,至少的分两部分,
第一部分是官网代码应用能力,侧类旁通的能力
1、重要:代码能力是指对threejs的运用能力,我觉得仅仅看官网很难快速融会贯通
2、Shader、GLSL(能力要求:不会写的话,至少也要会抄,会改)
3、webGL底层的学习
第二部分是建模能力(非必须)
这个非必须,但是如果会建模的话,对Three.js的理解会更深刻,尤其是后期操作模型交互时,知道原理是什么,至少我是这么过来的,建模师建好模型,我根据需要灵活在模型软件中进行分类、合并、删除、压缩、格式转换调整模型。
五、Three.js技术点拆解
第一部分:初级
1、入门
介绍了在创建新方法时可以使用的基本方法。基于three.js 的应用程序。我们将向您展示如何设置一个基本的 Three.js 骨架使用任何可用的 Three.js 渲染器。我们将进一步向您展示 WebGL 检测、加载资源,设置动画循环,添加拖放支持,并控制键盘的场景。
2、模型
向您展示了一些专注于创建的案例,使用和操作几何图形和网格。我们将详细介绍如何以不同方式旋转网格,使用矩阵变换操作它们,生成以编程方式生成几何图形,并从 Blender 和其他格式加载模型。
3、相机
重点 介绍 操作 相机 的 方法 .在 Three.js 中可用。它向您展示了如何使用透视和正交相机。本章还向您展示了解释如何旋转相机、居中相机,并跟随周围的物体。
4、纹理
包含说明如何获得良好结果的方法使用 Three.js 提供的材料。它有关于透明度、反射、UV贴图、面部材质、凹凸贴图和法线贴图,还解释了各种混合模式工作。
5、灯光
提供了处理Three.js 中的不同光源并向您展示如何使用 WebGL 着色器。表明您如何正确设置阴影,创建类似太阳的光源,并进入聚光灯、点光源和定向光源之间的区别。
6、粒子系统:点云、精灵
提供了一些秘诀,向您展示如何设置后处理。通过后处理,您可以通过模糊增强场景,着色或其他类型的效果。本章还包含解释功能的秘诀粒子系统,例如动画和粒子材质。
第二部分:中级
7、后处理
设置基本的后处理管道
创建自定义后处理步骤
8、动画 和 物理
展示动画 的案例 .场景中的对象并向您展示如何添加物理(例如重力和碰撞)检测)到您的场景。
9、着色器
如何创建自定义顶点着色器和自定义片段着色器。
创建自定义顶点着色器
创建自定义片段着色器
第三部分:高级——专题部分
11、模型综合处理
blender建模、导出、glb、模型压缩,各种格式转换、模型动画
12、点云综合处理
Three.js粒子系统、精灵、激光点云转换成粒子系统las、ply、pcd
13、Shader着色器
着色器原理,如何应用到案例中,如何让网上的Shader代码为我所用,海量shader案例