拾光°
1、场景 (Scene): Three.js 中所有的对象都需要添加到场景中才能够被渲染。
2、相机 (Camera): 相机定义了场景中的视角和投影方式。Three.js 提供了多种不同类型的相机,如透视相机、正交相机等。
3、渲染器 (Renderer): 渲染器是将场景和相机中的对象渲染成图像的核心组件。Three.js 提供了多种不同的渲染器,如 WebGLRenderer、CanvasRenderer 等。
4、几何体 (Geometry): 几何体是定义了 3D 对象的形状和位置信息。
5、材质 (Material): 材质定义了 3D 对象的外观和纹理。
6、网格 (Mesh): 网格是由几何体和材质组成的 3D 对象。
下面是一个简单的 Three.js 程序,它创建了一个场景、相机、渲染器、几何体、材质和网格,然后将网格添加到场景中并渲染到页面中:
// 创建场景
var scene = new THREE.Scene();
// 创建相机
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
camera.position.z = 5;
// 创建渲染器
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
// 创建几何体
var geometry = new THREE.BoxGeometry(1, 1, 1);
// 创建材质
var material = new THREE.MeshBasicMaterial({ color: 0x00ff00 });
// 创建网格
var cube = new THREE.Mesh(geometry, material);
// 将网格添加到场景中
scene.add(cube);
// 渲染场景
function animate() {
requestAnimationFrame(animate);
cube.rotation.x += 0.01;
cube.rotation.y += 0.01;
renderer.render(scene, camera);
}
animate();
在这个程序中,我们首先创建了一个场景、相机和渲染器,并将渲染器添加到页面中。然后我们创建了一个几何体和材质,使用它们创建了一个网格,并将网格添加到场景中。最后我们创建了一个 animate() 函数,用于不断渲染场景,使网格旋转起来。
运行这个程序后,你应该可以在页面中看到一个绿色的立方体,它会不断旋转。这个程序虽然简单,但涵盖了 Three.js 的许多基础概念,可以作为学习 Three.js 的起点。