欢迎光临散文网 会员登陆 & 注册

我对于Three.js案例与技术结构的理解

2022-08-17 22:24 作者:君要橙子  | 我要投稿

在前面的话,也算是我这些年来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 能做什么(官网案例)


https://threejs.org/examples/webgl_animation_multiple.html
https://threejs.org/examples/webgl_loader_3mf_materials.html
https://threejs.org/examples/webgl_loader_gltf_sheen.html
https://threejs.org/examples/webgl_loader_gltf_variants.html
https://threejs.org/examples/webgl_loader_gltf_iridescence.html
https://threejs.org/examples/webgl_loader_pdb.html
https://threejs.org/examples/webgl_loader_pcd.html
http://letsplay.ouigo.com/
https://saydnaya.amnesty.org/?kind=explore
https://2050.earth/
https://threejs.org/examples/webgl_animation_keyframes.html

三、更多其他案例

https://image.baidu.com/search/index?tn=baiduimage&ipn=r&ct=201326592&cl=2&lm=-1&st=-1&fm=result&fr=&sf=1&fmq=1660743256401_R&pv=&ic=&nc=1&z=&hd=&latest=&copyright=&se=1&showtab=0&fb=0&width=&height=&face=0&istype=2&dyTabStr=MCwxLDMsMiw2LDUsNCw4LDcsOQ%3D%3D&ie=utf-8&sid=&word=threejs%E6%99%BA%E6%85%A7%E5%9B%AD%E5%8C%BA


四、自己实现这些案例,需要哪些能力?

要想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案例







 


我对于Three.js案例与技术结构的理解的评论 (共 条)

分享到微博请遵守国家法律