img
share 分享

VIP会员

作者:CSDN

出版社:CSDN《程序员》

ISBN:1111111111117

VIP会员免费 (仅需0.8元/天) ¥ 40000.0

温馨提示: 价值40000元的1000本电子书,VIP会员随意看哦!

电子书推荐

更多资源 展开

three.js开发指南 高清 带书签 pdf 评分:

前 言 致 谢 第1章用Three.js创建你的第一个三维场景1 1.1 使用Three.js的前提条件3 1.2 获取源代码4 1.2.1 用Git克隆代码仓库4 1.2.2 下载并解压压缩包5 1.2.3 测试示例6 1.3 创建HTML页面框架7 1.4 渲染并展示三维对象9 1.5 添加材质、灯光和阴影13 1.6 用动画扩展你的首个场景15 1.6.1 引入requestAnimation-Frame()方法15 1.6.2 转动方块17 1.6.3 弹跳球17 1.7 使用dat.GUI库简化试验18 1.8 使用ASCII效果19 1.9 总结20 第2章使用构建Three.js场景的基本组件22 2.1 创建场景22 2.1.1 场景的基本功能23 2.1.2 在场景中添加雾化效果27 2.1.3 使用材质覆盖属性28 2.2 使用几何和网格对象29 2.2.1 几何对象的属性和函数29 2.2.2 网格对象的函数和属性33 2.3 选择合适的相机37 2.3.1 正投影相机和透视相机37 2.3.2 让相机在指定点上聚焦41 2.4 总结41 第3章使用Three.js里的各种光源43 3.1 探索Three.js库提供的光源43 3.2 学习基础光源44 3.2.1 AmbientLight—影响整个场景的光源44 3.2.2 PointLight—照射所有方向的光源47 3.2.3 SpotLight—具有锥形效果的光源49 3.2.4 DirectinalLight—模拟远处类似太阳的光源53 3.2.5 使用特殊光源生成高级光照效果54 3.3 总结61 第4章使用Three.js的材质62 4.1 理解共有属性63 4.1.1 基础属性63 4.1.2 融合属性64 4.1.3 高级属性64 4.2 从简单的网格材质(基础、深度和面)开始65 4.2.1 简单表面的MeshBasic-Material65 4.2.2 基于深度着色的MeshDepthMaterial67 4.2.3 联合材质68 4.2.4 计算法向颜色的MeshNormalMaterial70 4.2.5 为每个面指定材质的MeshFaceMaterial72 4.3 学习高级材质73 4.3.1 用于暗淡、不光亮表面的MeshLambertMaterial74 4.3.2 用于光亮表面的MeshPhongMaterial75 4.3.3 用ShaderMaterial创建自己的着色器76 4.4 线段几何体的材质81 4.4.1 LineBasicMaterial81 4.4.2 LineDashedMaterial83 4.5 总结84 第5章学习使用几何体85 5.1 Three.js提供的基础几何体86 5.1.1 二维几何体86 5.1.2 三维几何体92 5.2 总结100 第6章使用高级几何体和二元操作102 6.1 ConvexGeometry102 6.2 LatheGeometry104 6.3 通过拉伸创建几何体105 6.3.1 ExtrudeGeometry106 6.3.2 TubeGeometry107 6.3.3 从SVG拉伸109 6.3.4 ParametricGeometry110 6.4 创建三维文本112 6.4.1 渲染文本113 6.4.2 添加自定义字体114 6.5 使用二元操作组合网格115 6.5.1 subtract函数117 6.5.2 intersect函数120 6.5.3 union函数121 6.6 总结121 第7章粒子和粒子系统123 7.1 理解粒子123 7.2 粒子、粒子系统和BasicParticleMaterial125 7.3 使用HTML5画布格式化粒子128 7.3.1 在CanvasRenderer类里使用HTML5画布128 7.3.2 在WebGLRenderer中使用HTML5画布129 7.4 使用纹理格式化粒子131 7.5 从高级几何体中创建粒子系统139 7.6 总结141 第8章创建、加载高级网格和几何体143 8.1 几何体组合和合并143 8.1.1 对象组合143 8.1.2 将多个网格合并成一个网格145 8.2 从外部资源中加载几何体147 8.3 以Three.js的JSON格式保存和加载147 8.3.1 保存和加载几何体147 8.3.2 保存和加载场景149 8.4 使用Blender151 8.4.1 在Blender中安装Three.js导出器152 8.4.2 在Blender里加载和导出模型153 8.5 导入三维格式文件155 8.5.1 OBJ和MTL格式156 8.5.2 加载Collada模型159 8.5.3 加载STL、CTM和VTK模型160 8.5.4 展示蛋白质数据银行中的蛋白质161 8.5.5 从PLY模型中创建粒子系统163 8.6 总结164 第9章创建动画和移动相机166 9.1 基础动画166 9.1.1简单动画167 9.1.2 选择对象168 9.1.3 用Tween.js做动画170 9.2 使用相机172 9.2.1 轨迹球控件172 9.2.2 飞行控件174 9.2.3 翻滚控件175 9.2.4 第一人称控件175 9.2.5 轨道控件177 9.2.6 路径控件178 9.3 变形动画和骨骼动画180 9.3.1 用变形目标制作动画181 9.3.2用骨骼和蒙皮制作动画184 9.4使用外部模型创建动画186 9.4.1 用Blender创建骨骼动画186 9.4.2从Collada模型中加载动画190 9.4.3从雷神之锤模型中加载动画191 9.5总结192 第10章加载和使用纹理194 10.1在材质中使用纹理194 10.1.1加载纹理并应用到网格194 10.1.2使用凹凸贴图创建皱纹197 10.1.3使用法向贴图创建更加细致的凹凸和皱纹198 10.1.4使用光照贴图创建假阴影199 10.1.5用环境贴图创建虚假的反光效果201 10.1.6高光贴图204 10.2纹理的高级用途205 10.2.1定制UV映射205 10.2.2重复映射207 10.2.3在画布上绘制图案并作为纹理209 10.3总结213 第11章定制着色器和渲染后期处理215 11.1设置后期处理215 11.1.1创建EffectComposer对象216 11.2后期处理通道218 11.2.1简单后期处理通道218 11.2.2 使用掩膜的高级效果组合器223 11.2.3 用ShaderPass定制效果226 11.3 创建自定义的后期处理着色器231 11.3.1 定制灰度图着色器232 11.3.2 定制位着色器235 11.4 总结237 第12章用Physijs在场景中添加物理效果238 12.1 创建可用Physijs的基本Three.js场景238 12.2 材质属性243 12.3 基础图形244 12.4 使用约束限制对象移动248 12.4.1 用PointConstraint限制两点间的移动249 12.4.2 用HingeConstraint创建类似门的约束250 12.4.3 用SliderConstraint将移动限制到一个轴252 12.4.4 用ConeTwistConstraint创建类似球销的约束254 12.4.5 用DOFConstraint实现细节的控制255 12.5 总结259

...展开详情
上传时间:2018-01 大小:51.43MB
热门图书