《Three.js 开发指南》基于原书第二版
源码来自华章出版社官网随书源码,修改替换了其中不能跑的示例,保证每个demo都可以运行。
源码以及示例说明下载: git下载地址
huazhang目录下是第二版的修改源码。 huazhang3目录下面是第三版的源码。
第二版和第三版大同小异,第二版的three.js版本是69, 第三版的版本是95。
Three.js 官网文档
1. 用Three.js创建你的第一个三维场景
1.1 具有所有基本元素的hello world示例
2. 使用构建Three.js场景的基本组件
2.1 添加、删除、枚举、通过名字获取场景中的对象
2.2 雾化效果
2.3 材质效果覆盖
2.4 three.js内建的几何体
2.5 自定义几何体,复制几何体
2.6 网格对象的函数和属性 position, rotation, scale, translate, visible
2.7 正投影相机和透视相机
if (camera instanceof THREE.PerspectiveCamera) {
camera = new THREE.OrthographicCamera(window.innerWidth / -16, window.innerWidth / 16, window.innerHeight / 16, window.innerHeight / -16, -200, 500);
camera.position.x = 120;
camera.position.y = 60;
camera.position.z = 180;
camera.lookAt(scene.position);
trackballControls = initTrackballControls(camera, renderer);
this.perspective = "Orthographic";
} else {
camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 0.1, 1000);
camera.position.x = 120;
camera.position.y = 60;
camera.position.z = 180;
camera.lookAt(scene.position);
trackballControls = initTrackballControls(camera, renderer);
this.perspective = "Perspective";
}
2.8 让相机在指定点上聚焦
camera