跳转到主要内容

Three.js 造物日记 12 篇

一个前端开发者的 Web 3D 学习笔记。从零基础出发,用 20 节课、5 周时间,系统学习 Three.js + GLSL + WebGPU,目标是能独立做出 3D 特效创意网站。每一篇笔记记录一次「造物」的过程 —— 搭架构、写代码、调参数、踩坑复盘,把抽象的 3D 概念变成看得见摸得着的作品。GitHub代码仓库:https://github.com/onlyLucky/CreationDiary

02|几何体与图元

掌握 5 种基础几何体(Box、Sphere、Cylinder、Torus、Plane),理解分段数与性能的关系,学会程序生成纹理和 Wireframe 可视化。

03|材质系统

掌握 6 种材质类型(Basic / Lambert / Phong / Standard / Physical / Toon),理解 PBR 材质的 roughness 和 metalness,学会环境贴图和法线贴图的使用。

04|灯光与阴影

掌握 5 种灯光类型(Ambient / Hemisphere / Directional / Point / Spot),理解阴影三要素,学会调整阴影质量和性能的平衡。

05|相机与控制

区分透视相机和正交相机,掌握 OrbitControls 轨道控制器配置,理解相机参数(fov、aspect、near、far),学会相机切换和参数调整。

06|纹理与贴图

TextureLoader 加载图片纹理,UV 坐标与纹理映射,纹理 repeat/offset/wrap 控制,CubeTextureLoader 天空盒,环境贴图与反射,RGBELoader HDRI

07|场景图与变换

场景图的树形结构,父子关系与变换继承,局部坐标系 vs 世界坐标系,Object3D 分组管理,scene.traverse() 遍历,AxesHelper/GridHelper 调试

08|模型加载

GLTF/GLB 格式详解,GLTFLoader 加载模型,Draco 压缩,LoadingManager 进度管理,模型自动缩放居中,LOD 策略,AnimationMixer 动画播放

09|动画系统

requestAnimationFrame vs GSAP,gsap.to/from/timeline,KeyframeTrack 关键帧动画,AnimationObjectGroup 共享动画,AnimationMixer 模型动画

10|GLSL 基础

顶点/片元着色器执行流程,gl_Position / gl_FragColor,attribute / uniform / varying 三种通道,ShaderMaterial vs RawShaderMaterial,GLSL 强类型与常用内置函数

11|GLSL 数学函数

GLSL 内置数学函数(mix/step/smoothstep/sin/cos/pow)、向量运算(dot/cross/normalize)、用数学函数画基本形状、fract/mod 周期函数、坐标系变换与 UV 映射

12|噪声函数

噪声函数原理(Perlin 梯度噪声、Simplex 单纯形、FBM 分形布朗运动)、云雾/地形/火焰/顶点变形实战、噪声动画、频率与振幅、课后作业五大案例