前言第1章 使用Three. js创建你的第一个三维场景11.1 准备工作41.2 获取源码51.2.1 通过Git获取代码仓库51.2.2 下载并解压缩档案文件51.2.3 测试示例61.3 搭建HTML框架91.4 渲染并查看三维对象101.5 添加材质、光源和阴影效果141.6 让你的场景动起来161.6.1 引入requestAnimationFrame()方法161.6.2 旋转立方体171.6.3 弹跳球181.7 使用dat.GUI简化试验流程191.8 场景对浏览器的自适应211.9 总结22第2章 构建Three.js场景的基本组件232.1 创建场景232.1.1 场景的基本功能242.1.2 给场景添加雾化效果292.1.3 使用overrideMaterial属性302.2 几何体和网格312.2.1 几何体的属性和方法312.2.2 网格对象的属性和方法362.3 选择合适的摄像机402.3.1 正交投影摄像机和透视投影摄像机402.3.2 将摄像机聚焦在指定点上442.4 总结45第3章 学习使用Three.js中的光源463.1 Three.js中不同种类的光源463.2 基础光源473.2.1 THREE.AmbientLight473.2.2 THREE.PointLight513.2.3 THREE.SpotLight543.2.4 THREE.DirectionalLight583.3 特殊光源603.3.1 THREE.HemisphereLight603.3.2 THREE.AreaLight613.3.3 镜头光晕643.4 总结66第4章 使用Three.js的材质674.1 理解材质的共有属性684.1.1 基础属性684.1.2 融合属性694.1.3 高级属性704.2 从简单的网格材质开始704.2.1 THREE.MeshBasicMaterial714.2.2 THREE.MeshDepthMaterial734.2.3 联合材质754.2.4 THREE.MeshNormalMaterial764.2.5 THREE.MeshFaceMaterial784.3 高级材质814.3.1 THREE.MeshLambertMaterial814.3.2 THREE.MeshPhongMaterial824.3.3 用THREE.ShaderMaterial创建自己的着色器834.4 线性几何体的材质894.4.1 THREE.LineBasicMaterial894.4.2 THREE.LineDashedMaterial914.5 总结92第5章 学习使用几何体935.1 THREE.js提供的基础几何体945.1.1 二维几何体945.1.2 三维几何体1025.2 总结112第6章 高级几何体和二元操作1136.1 THREE.ConvexGeometry1136.2 THREE.LatheGeometry1156.3 通过拉伸创建几何体1166.3.1 THREE.ExtrudeGeometry1176.3.2 THREE.TubeGeometry1196.3.3 从SVG拉伸1206.3.4 THREE.ParametricGeometry1226.4 创建三维文本1246.4.1 渲染文本1246.4.2 添加自定义字体1266.5 使用二元操作组合网格1276.5.1 subtract函数1296.5.2 intersect函数1326.5.3 union函数1336.6 总结134第7章 粒子、精灵和点云1357.1 理解粒子1357.2 粒子、THREE.PointCloud和THREE.PointCloudMaterial1387.3 使用HTML5画布样式化粒子1407.3.1 在THREE.CanvasRenderer中使用HTML5画布1407.3.2 在WebGLRenderer中使用HTML5画布1427.4 使用纹理样式化粒子1447.5 使用精灵贴图1497.6 从高级几何体创建THREE.Point Cloud1537.7 总结155第8章 创建、加载高级网格和几何体1568.1 几何体组合与合并1568.1.1 对象组合1568.1.2 将多个网格合并成一个网格1588.1.3 从外部资源中加载几何体1608.1.4 以Three.js的JSON格式保存和加载1618.1.5 使用Blender1658.1.6 导入三维格式文件1698.2 总结179第9章 创建动画和移动摄像机1809.1 基础动画1809.1.1 简单动画1819.1.2 选择对象1829.1.3 使用Tween.js实现动画1849.2 使用摄像机1869.2.1 轨迹球控制器1879.2.2 飞行控制器1899.2.3 翻滚控制器1909.2.4 第一视角控制器1919.2.5 轨道控制器1929.3 变形动画和骨骼动画1939.3.1 用变形目标创建动画1959.3.2 用骨骼和蒙皮创建动画1989.4 使用外部模型创建动画2009.4.1 使用Blender创建骨骼动画2019.4.2 从Collada模型加载动画2039.4.3 从雷神之锤模型中加载动画2049.5 总结205第10章 加载和使用纹理20610.1 将纹理应用于材质20610.1.1 加载纹理并应用到网格20610.1.2 使用凹凸贴图创建褶皱21010.1.3 使用法向贴图创建更加细致的凹凸和褶皱21110.1.4 使用光照贴图创建阴影效果21210.1.5 使用环境贴图创建反光效果21410.1.6 高光贴图21810.2 纹理的高级用途22010.2.1 自定义UV映射22010.2.2 重复纹理22210.2.3 在画布上绘制图案并作为纹理22410.2.4 将视频输出作为纹理22710.3 总结229第11章 自定义着色器和后期处理23011.1 配置Three.js以进行后期处理23011.2 后期处理通道23311.2.1 简单后期处理通道23311.2.2 使用掩码的高级效果组合器23911.2.3 使用THREE.ShaderPass自定义效果24211.3 创建自定义后期处理着色器24811.3.1 自定义灰度图着色器24811.3.2 自定义位着色器25111.4 总结253第12章 在场景中添加物理效果和声音25412.1 创建基本的Three.js场景25412.2 材质属性25912.3 基础图形26012.4 使用约束限制对象的移动26512.4.1 使用PointConstraint限制对象在两点间移动26612.4.2 使用HingeConstraint创建类似门的约束26712.4.3 使用SliderConstraint将移动限制在一个轴上26912.4.4 使用ConeTwistConstraint创建类似球销的约束27012.4.5 使用DOFConstraint实现细节的控制27212.4.6 在场景中添加声源27612.5 总结277
下载Three.js开发指南:WebGL的JavaScript 3D库(原书第2版)_源代码.zip用户还喜欢
- 18480 文章数
- 500万+ 热度
作者专栏
编辑推荐
- 淡抹u2引擎,修复内容较多,物有所值
- 界域传说·经典巨作=传世单机(一键安装)
- 丸子版本(175个传世版本大集合)
- GS版本:神话公益服务端+客户端
- 图片放大工具(放大图片不模糊)
- 剪映无限制VIP版
- 传奇世界客户端下载器,史上最全传世客户端
- 传世GS20220920商业引擎注册+登录配置器 解压密码是1
- U2官方排行榜游戏网关 支持元神,支持传家宝
- GS开战传世客户端+服务端
- (淡漠夕阳)u2引擎合区工具
- 传世GS引擎消除“你的游戏客户端版本号过旧,请及时更新”提示
- 传世一机多区双线路配置器--免密码版本
- 传世凤凰登陆器劫持修复软件
- SQLite3 for Navicat
- 传奇世界npc对话框编辑工具
- 传世GS落霞铭文服务器端
- gs_20210409引擎包+注册机(无限制)
- 传奇世界NPC对话封包查看器[支持时长版和极速版]
- 彩虹引擎传世脚本编辑工具1.7版来了,支持函数脚本翻译
评论