当前位置:主页 > 计算机电子书 > 程序设计 > Three.js下载
Three.js开发指南:WebGL的JavaScript 3D库

Three.js开发指南:WebGL的JavaScript 3D库 PDF 第2版

  • 更新:2020-01-01
  • 大小:180.1 MB
  • 类别:Three.js
  • 作者:乔斯·德克森
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

这书根据很多的互动实例和实例编码详细介绍了Three.js出示的各种各样API,让阅读者不用掌握没办法程序编写的WebGL的最底层关键点及繁杂的上色語言,只需大概掌握JavaScript及HTML,就能轻轻松松地在电脑浏览器中建立二维和三维运用及图型。这书共12章,涉及到以下几点:应用Three.js建立三维情景,搭建情景的基础部件,Three.js中的灯源、材料、立体图形及其物体、小精灵和云数据,建立和载入网格图、立体图形,建立动漫和挪动监控摄像头,载入和应用纹路,自定着色器和后期制作,在情景中加上物理学实际效果和响声等。

目录

  • 前言
  • 第1章 使用Three. js创建你的第一个三维场景1
  • 1.1 准备工作4
  • 1.2 获取源码5
  • 1.2.1 通过Git获取代码仓库5
  • 1.2.2 下载并解压缩档案文件5
  • 1.2.3 测试示例6
  • 1.3 搭建HTML框架9
  • 1.4 渲染并查看三维对象10
  • 1.5 添加材质、光源和阴影效果14
  • 1.6 让你的场景动起来16
  • 1.6.1 引入requestAnimationFrame()方法16
  • 1.6.2 旋转立方体17
  • 1.6.3 弹跳球18
  • 1.7 使用dat.GUI简化试验流程19
  • 1.8 场景对浏览器的自适应21
  • 1.9 总结22
  • 第2章 构建Three.js场景的基本组件23
  • 2.1 创建场景23
  • 2.1.1 场景的基本功能24
  • 2.1.2 给场景添加雾化效果29
  • 2.1.3 使用overrideMaterial属性30
  • 2.2 几何体和网格31
  • 2.2.1 几何体的属性和方法31
  • 2.2.2 网格对象的属性和方法36
  • 2.3 选择合适的摄像机40
  • 2.3.1 正交投影摄像机和透视投影摄像机40
  • 2.3.2 将摄像机聚焦在指定点上44
  • 2.4 总结45
  • 第3章 学习使用Three.js中的光源46
  • 3.1 Three.js中不同种类的光源46
  • 3.2 基础光源47
  • 3.2.1 THREE.AmbientLight47
  • 3.2.2 THREE.PointLight51
  • 3.2.3 THREE.SpotLight54
  • 3.2.4 THREE.DirectionalLight58
  • 3.3 特殊光源60
  • 3.3.1 THREE.HemisphereLight60
  • 3.3.2 THREE.AreaLight61
  • 3.3.3 镜头光晕64
  • 3.4 总结66
  • 第4章 使用Three.js的材质67
  • 4.1 理解材质的共有属性68
  • 4.1.1 基础属性68
  • 4.1.2 融合属性69
  • 4.1.3 高级属性70
  • 4.2 从简单的网格材质开始70
  • 4.2.1 THREE.MeshBasicMaterial71
  • 4.2.2 THREE.MeshDepthMaterial73
  • 4.2.3 联合材质75
  • 4.2.4 THREE.MeshNormalMaterial76
  • 4.2.5 THREE.MeshFaceMaterial78
  • 4.3 高级材质81
  • 4.3.1 THREE.MeshLambertMaterial81
  • 4.3.2 THREE.MeshPhongMaterial82
  • 4.3.3 用THREE.ShaderMaterial创建自己的着色器83
  • 4.4 线性几何体的材质89
  • 4.4.1 THREE.LineBasicMaterial89
  • 4.4.2 THREE.LineDashedMaterial91
  • 4.5 总结92
  • 第5章 学习使用几何体93
  • 5.1 THREE.js提供的基础几何体94
  • 5.1.1 二维几何体94
  • 5.1.2 三维几何体102
  • 5.2 总结112
  • 第6章 高级几何体和二元操作113
  • 6.1 THREE.ConvexGeometry113
  • 6.2 THREE.LatheGeometry115
  • 6.3 通过拉伸创建几何体116
  • 6.3.1 THREE.ExtrudeGeometry117
  • 6.3.2 THREE.TubeGeometry119
  • 6.3.3 从SVG拉伸120
  • 6.3.4 THREE.ParametricGeometry122
  • 6.4 创建三维文本124
  • 6.4.1 渲染文本124
  • 6.4.2 添加自定义字体126
  • 6.5 使用二元操作组合网格127
  • 6.5.1 subtract函数129
  • 6.5.2 intersect函数132
  • 6.5.3 union函数133
  • 6.6 总结134
  • 第7章 粒子、精灵和点云135
  • 7.1 理解粒子135
  • 7.2 粒子、THREE.PointCloud和THREE.PointCloudMaterial138
  • 7.3 使用HTML5画布样式化粒子140
  • 7.3.1 在THREE.CanvasRenderer中使用HTML5画布140
  • 7.3.2 在WebGLRenderer中使用HTML5画布142
  • 7.4 使用纹理样式化粒子144
  • 7.5 使用精灵贴图149
  • 7.6 从高级几何体创建THREE.Point Cloud153
  • 7.7 总结155
  • 第8章 创建、加载高级网格和几何体156
  • 8.1 几何体组合与合并156
  • 8.1.1 对象组合156
  • 8.1.2 将多个网格合并成一个网格158
  • 8.1.3 从外部资源中加载几何体160
  • 8.1.4 以Three.js的JSON格式保存和加载161
  • 8.1.5 使用Blender165
  • 8.1.6 导入三维格式文件169
  • 8.2 总结179
  • 第9章 创建动画和移动摄像机180
  • 9.1 基础动画180
  • 9.1.1 简单动画181
  • 9.1.2 选择对象182
  • 9.1.3 使用Tween.js实现动画184
  • 9.2 使用摄像机186
  • 9.2.1 轨迹球控制器187
  • 9.2.2 飞行控制器189
  • 9.2.3 翻滚控制器190
  • 9.2.4 第一视角控制器191
  • 9.2.5 轨道控制器192
  • 9.3 变形动画和骨骼动画193
  • 9.3.1 用变形目标创建动画195
  • 9.3.2 用骨骼和蒙皮创建动画198
  • 9.4 使用外部模型创建动画200
  • 9.4.1 使用Blender创建骨骼动画201
  • 9.4.2 从Collada模型加载动画203
  • 9.4.3 从雷神之锤模型中加载动画204
  • 9.5 总结205
  • 第10章 加载和使用纹理206
  • 10.1 将纹理应用于材质206
  • 10.1.1 加载纹理并应用到网格206
  • 10.1.2 使用凹凸贴图创建褶皱210
  • 10.1.3 使用法向贴图创建更加细致的凹凸和褶皱211
  • 10.1.4 使用光照贴图创建阴影效果212
  • 10.1.5 使用环境贴图创建反光效果214
  • 10.1.6 高光贴图218
  • 10.2 纹理的高级用途220
  • 10.2.1 自定义UV映射220
  • 10.2.2 重复纹理222
  • 10.2.3 在画布上绘制图案并作为纹理224
  • 10.2.4 将视频输出作为纹理227
  • 10.3 总结229
  • 第11章 自定义着色器和后期处理230
  • 11.1 配置Three.js以进行后期处理230
  • 11.2 后期处理通道233
  • 11.2.1 简单后期处理通道233
  • 11.2.2 使用掩码的高级效果组合器239
  • 11.2.3 使用THREE.ShaderPass自定义效果242
  • 11.3 创建自定义后期处理着色器248
  • 11.3.1 自定义灰度图着色器248
  • 11.3.2 自定义位着色器251
  • 11.4 总结253
  • 第12章 在场景中添加物理效果和声音254
  • 12.1 创建基本的Three.js场景254
  • 12.2 材质属性259
  • 12.3 基础图形260

资源下载

资源下载地址1:https://pan.baidu.com/s/1rD-7LKDukbrrz-p-ZbiDNw

相关资源

网友留言