Three.js开发指南

副标题:无

作   者:(美)Jos Dirksen 著,李鹏程 译

分类号:

ISBN:9787111488323

微信扫一扫,移动浏览光盘

简介

  《Three.js开发指南》  首部全面讲解Three.js开发的实用指南,循序渐进讲解Three.js的各种功能  通过大量交互式示例,深入探索使用开源的Three.js库创建绚丽三维图形的实用方法和技巧

目录

第1章 用Three.js创建你的第一个三维场景
1.1 使用Three.js的前提条件
1.2 获取源代码
1.2.1 用Git克隆代码仓库
1.2.2 下载并解压压缩包
1.2.3 测试示例
1.3 创建HTML页面框架
1.4 渲染并展示三维对象
1.5 添加材质、灯光和阴影
1.6 用动画扩展你的首个场景
1.6.1 引入requestAnimation-Frame()方法
1.6.2 转动方块
1.6.3 弹跳球
1.7 使用dat.GUI库简化试验
1.8 使用ASCII效果
1.9 总结
第2章 使用构建Three.js场景的基本组件
2.1 创建场景
2.1.1 场景的基本功能
2.1.2 在场景中添加雾化效果
2.1.3 使用材质覆盖属性
2.2 使用几何和网格对象
2.2.1 几何对象的属性和函数
2.2.2 网格对象的函数和属性
2.3 选择合适的相机
2.3.1 正投影相机和透视相机
2.3.2 让相机在指定点上聚焦
2.4 总结
第3章 使用Three.js里的各种光源
3.1 探索Three.js库提供的光源
3.2 学习基础光源
3.2.1 AmbientLight—影响整个场景的光源
3.2.2 PointLight—照射所有方向的光源
3.2.3 SpotLight—具有锥形效果的光源
3.2.4 DirectinalLight—模拟远处类似太阳的光源
3.2.5 使用特殊光源生成高级光照效果
3.3 总结
第4章 使用Three.js的材质
4.1 理解共有属性
4.1.1 基础属性
4.1.2 融合属性
4.1.3 高级属性
4.2 从简单的网格材质(基础、深度和面)开始
4.2.1 简单表面的MeshBasic-Material
4.2.2 基于深度着色的MeshDepthMaterial
4.2.3 联合材质
4.2.4 计算法向颜色的MeshNormalMaterial
4.2.5 为每个面指定材质的MeshFaceMaterial
4.3 学习高级材质
4.3.1 用于暗淡、不光亮表面的MeshLambertMaterial
4.3.2 用于光亮表面的MeshPhongMaterial
4.3.3 用ShaderMaterial创建自己的着色器
4.4 线段几何体的材质
4.4.1 LineBasicMaterial
4.4.2 LineDashedMaterial
4.5 总结
第5章 学习使用几何体
5.1 Three.js提供的基础几何体
5.1.1 二维几何体
5.1.2 三维几何体
5.2 总结
第6章 使用高级几何体和二元操作
6.1 ConvexGeometry
6.2 LatheGeometry
6.3 通过拉伸创建几何体
6.3.1 ExtrudeGeometry
6.3.2 TubeGeometry
6.3.3 从SVG拉伸
6.3.4 ParametricGeometry
6.4 创建三维文本
6.4.1 渲染文本
6.4.2 添加自定义字体
6.5 使用二元操作组合网格
6.5.1 subtract函数
6.5.2 intersect函数
6.5.3 union函数
6.6 总结
第7章 粒子和粒子系统
7.1 理解粒子
7.2 粒子、粒子系统和BasicParticleMaterial
7.3 使用HTML5画布格式化粒子
7.3.1 在CanvasRenderer类里使用HTML5画布
7.3.2 在WebGLRenderer中使用HTML5画布
7.4 使用纹理格式化粒子
7.5 从高级几何体中创建粒子系统
7.6 总结
第8章 创建、加载高级网格和几何体
8.1 几何体组合和合并
8.1.1 对象组合
8.1.2 将多个网格合并成一个网格
8.2 从外部资源中加载几何体
8.3 以Three.js的JSON格式保存和加载
8.3.1 保存和加载几何体
8.3.2 保存和加载场景
8.4 使用Blender
8.4.1 在Blender中安装Three.js导出器
8.4.2 在Blender里加载和导出模型
8.5 导入三维格式文件
8.5.1 OBJ和MTL格式
8.5.2 加载Collada模型
8.5.3 加载STL、CTM和VTK模型
8.5.4 展示蛋白质数据银行中的蛋白质
8.5.5 从PLY模型中创建粒子系统
8.6 总结
第9章 创建动画和移动相机
9.1 基础动画
9.1.1简单动画
9.1.2 选择对象
9.1.3 用Tween.js做动画
9.2 使用相机
9.2.1 轨迹球控件
9.2.2 飞行控件
9.2.3 翻滚控件
9.2.4 第一人称控件
9.2.5 轨道控件
9.2.6 路径控件
9.3 变形动画和骨骼动画
9.3.1 用变形目标制作动画
9.3.2用骨骼和蒙皮制作动画
9.4使用外部模型创建动画
9.4.1 用Blender创建骨骼动画
9.4.2从Collada模型中加载动画
9.4.3从雷神之锤模型中加载动画
9.5总结
第10章 加载和使用纹理
10.1在材质中使用纹理
10.1.1加载纹理并应用到网格
10.1.2使用凹凸贴图创建皱纹
10.1.3使用法向贴图创建更加细致的凹凸和皱纹
10.1.4使用光照贴图创建假阴影
10.1.5用环境贴图创建虚假的反光效果
10.1.6高光贴图
10.2纹理的高级用途
10.2.1定制UV映射
10.2.2重复映射
10.2.3在画布上绘制图案并作为纹理
10.3总结
第11章 定制着色器和渲染后期处理
11.1设置后期处理
11.1.1创建EffectComposer对象
11.2后期处理通道
11.2.1简单后期处理通道
11.2.2 使用掩膜的高级效果组合器
11.2.3 用ShaderPass定制效果
11.3 创建自定义的后期处理着色器
11.3.1 定制灰度图着色器
11.3.2 定制位着色器
11.4 总结
第12章 用Physijs在场景中添加物理效果
12.1 创建可用Physijs的基本Three.js场景
12.2 材质属性
12.3 基础图形
12.4 使用约束限制对象移动
12.4.1 用PointConstraint限制两点间的移动
12.4.2 用HingeConstraint创建类似门的约束
12.4.3 用SliderConstraint将移动限制到一个轴
12.4.4 用ConeTwistConstraint创建类似球销的约束
12.4.5 用DOFConstraint实现细节的控制
12.5 总结

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

Three.js开发指南
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon