Three.js 教程
入门指南
- 安装 Three.js
-
访问 Three.js 官方文档网站:https://threejs.org/
-
下载 Three.js 文件或使用 git 克隆:https://github.com/mrdoob/three.js
-
安装依赖:
yarn install
或npm install
-
启动项目:
yarn start
或npm start
- 创建基本场景
-
创建场景对象:
const scene = new THREE.Scene();
-
创建相机对象:
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
-
创建渲染器对象:
const renderer = new THREE.WebGLRenderer();
-
设置渲染器大小:
renderer.setSize(window.innerWidth, window.innerHeight);
-
将渲染器添加到 HTML 页面:
document.body.appendChild(renderer.domElement);
-
渲染场景:
renderer.render(scene, camera);
进阶内容
- 核心概念
-
场景 :包含所有3D对象和光源。
-
相机 :决定观察场景的角度和位置。
-
渲染器 :负责将3D场景渲染到屏幕上。
- 几何体和材质
-
创建几何体(如立方体、球体、平面等):
new THREE.BoxGeometry(200, 200, 200)
-
应用材质:
new THREE.MeshBasicMaterial({color: 0x00ff00});
- 光源和阴影
-
添加光源:
new THREE.PointLight(0xffffff, 1, 100);
-
启用阴影:
renderer.shadowMap.enabled = true;
- 模型加载和纹理映射
- 使用加载器加载模型:
new THREE.OBJLoader().load('model.obj', function(object) { scene.add(object); });
- 动画和交互
-
创建关键帧动画:
renderer.setAnimationLoop(function(timestamp) { // 动画逻辑 });
-
添加交互功能:
renderer.domElement.addEventListener('click', function(event) { // 交互逻辑 });
学习资源
-
Three.js 官方文档:https://threejs.org/
-
Three.js GitHub 仓库:https://github.com/mrdoob/three.js
-
Three.js 教程视频:https://ke.qq.com/course/325673
实践项目
- Minecraft 风格地形 :学习使用 Three.js 创建类似 Minecraft 的地形,并添加纹理和交互元素。
总结
以上是 Three.js 的基础入门教程,涵盖了从安装到创建基本场景,再到进阶概念如材质、光源、动画和交互的学习内容。你可以根据这些信息开始你的 Three.js 开发之旅。