Three.js 场景管理与优化实战

📘 30章 · 从入门到高阶
01
Three.js初探 WebGL
WebGL与Three.js关系 · 场景/相机/渲染器 · 第一个3D场景
02
场景对象Scene 雾效
Scene属性方法 · Fog · 背景色纹理 · 层级管理
03
相机系统Camera 透视/正交
透视&正交相机 · 参数详解 · OrbitControls · 多相机切换
04
渲染器Renderer WebGL
WebGLRenderer配置 · 抗锯齿/阴影 · requestAnimationFrame · Stats.js
05
几何体Geometry 内置&自定义
Box/Sphere/Cylinder · BufferGeometry · 自定义几何体 · 合并优化
06
材质Material 标准/物理
MeshBasicMaterial · Standard · Physical · 属性与纹理映射
07
纹理Texture 加载/贴图
TextureLoader · 重复偏移 · CubeTexture · 压缩优化
08
光源Light 阴影优化
环境/方向/点光/聚光 · 阴影实现与性能优化
09
物体变换 位置/旋转/缩放
position/rotation/scale · 矩阵变换 · 本地与世界坐标
10
组与层级 Group
Group对象 · 父子层级 · 遍历场景树 · 动态添加/移除
11
动画系统 TWEEN/关键帧
动画循环 · TWEEN.js · KeyframeTrack · AnimationMixer
12
交互与事件 Raycaster
射线检测 · 点击/悬停 · DragControls · 高亮效果
13
粒子系统 Points
PointsMaterial · 粒子纹理 · 动画 · 大量粒子优化
14
精灵与标签 CSS2DRenderer
Sprite · CSS2DRenderer · CSS3DRenderer · 面向相机UI
15
加载器Loader GLTF/FBX
GLTFLoader · FBXLoader · OBJLoader · 进度管理 · 缓存策略
16
模型优化 LOD/InstancedMesh
减面 · LOD · InstancedMesh · 合并几何体
17
后期处理 EffectComposer
渲染管线 · Bloom · SSAO · FXAA/SMAA抗锯齿
18
着色器Shader GLSL
ShaderMaterial · 顶点/片元着色器 · uniforms · 常见效果
19
性能优化总论 Draw Call
Draw Call优化 · 内存管理 · 对象池 · 帧率控制
20
场景管理架构 序列化
场景图设计 · 生命周期 · 序列化/反序列化 · 编辑器思路
21
大场景渲染 视锥/遮挡剔除
Frustum Culling · Occlusion Culling · 分块/流式加载
22
纹理优化 图集/压缩
Texture Atlas · Mipmap · KTX2/Basis · 纹理LOD
23
阴影优化 CSM/软阴影
阴影贴图分辨率 · 级联阴影(CSM) · 软阴影 · 性能分析
24
内存与调试 DevTools
内存泄漏检测 · 对象销毁 · Chrome性能分析 · Three.js Inspector
25
多线程与Worker OffscreenCanvas
Web Worker · OffscreenCanvas · 计算分离 · 主线程优化
26
VR/AR扩展 WebXR
WebXR API · VR控制器 · AR平面检测 · 性能考量
27
移动端优化 GPU/触摸
移动GPU特性 · 像素比控制 · 低配适配 · 触摸交互优化
28
网络加载优化 Draco/CDN
模型压缩(Draco/glTF Transform) · CDN · 预加载/懒加载 · 版本管理
29
实战案例一 3D产品展示
模型加载 · 交互旋转 · 材质切换 · 性能监控
30
实战案例二 室内漫游
大场景分块加载 · 光照烘焙 · 碰撞检测 · 移动端适配