Three.js绘制简单的立体球形
warning:
这篇文章距离上次修改已过203天,其中的内容可能已经有所变动。
在Three.js中,要绘制一个简单的立体球形,你需要定义一个SphereGeometry
对象来描述球体的几何结构,然后使用MeshLambertMaterial
或MeshPhongMaterial
来定义其外观。接下来,将几何体与材质结合,创建一个网格(Mesh
),并将其添加到场景中。
以下是一个简单的例子:
// 引入Three.js
import * as THREE from 'three';
// 创建场景
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);
document.body.appendChild(renderer.domElement);
// 创建球体几何体
const geometry = new THREE.SphereGeometry(5, 32, 32);
// 创建材质
const material = new THREE.MeshLambertMaterial({ color: 0xffffff });
// 创建网格
const mesh = new THREE.Mesh(geometry, material);
// 将网格添加到场景
scene.add(mesh);
// 设置相机位置并指向场景中心
camera.position.z = 10;
// 渲染循环
function animate() {
requestAnimationFrame(animate);
renderer.render(scene, camera);
}
animate();
这段代码创建了一个白色的立体球形,球体的半径为5,经纬度都是32,相机位于z轴的10,看向原点。animate
函数负责循环渲染场景。
评论已关闭