three.js场景旋转
时间: 2023-09-10 08:04:50 浏览: 104
你可以使用 `THREE.OrbitControls` 来实现场景的旋转。这个控制器可以让你用鼠标或触摸来旋转、缩放和平移场景。
以下是一个简单的例子,展示如何使用 `OrbitControls` 来旋转场景:
```javascript
var camera, scene, renderer, controls;
init();
animate();
function init() {
// 创建相机
camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
camera.position.z = 5;
// 创建场景
scene = new THREE.Scene();
// 创建一个立方体
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);
// 创建渲染器
renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
// 创建控制器
controls = new THREE.OrbitControls(camera, renderer.domElement);
}
function animate() {
requestAnimationFrame(animate);
// 更新控制器
controls.update();
// 渲染场景
renderer.render(scene, camera);
}
```
在这个例子中,我们创建了一个相机、一个场景和一个立方体。然后,我们创建了一个 `OrbitControls` 控制器,并将它绑定到相机和渲染器上。最后,我们在动画循环中更新控制器,并渲染场景。
你可以通过鼠标左键拖动来旋转场景,中键缩放,右键平移。你还可以通过设置控制器的属性来调整其行为。例如,你可以将 `controls.rotateSpeed` 属性设置为一个更高的值来加快旋转速度。
阅读全文