OrbitControls 是 Three.js 库提供的一个控制器,用于在 3D 场景中实现相机移动和交互。它允许用户通过鼠标拖动和滚动来旋转、缩放和平移相机,以便更好地查看和浏览场景。

以下是在 Three.js 中使用 'OrbitControls' 的示例代码:

// 创建场景
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);

// 创建一个 OrbitControls
var controls = new THREE.OrbitControls(camera, renderer.domElement);

// 渲染场景
function render() {
  requestAnimationFrame(render);
  renderer.render(scene, camera);
  controls.update(); // 更新控制器
}
render();

在这个示例中,我们创建了场景、相机和渲染器,就像之前的例子一样。然后,我们使用 'THREE.OrbitControls' 创建了一个控制器,并将相机和渲染器的 DOM 元素传递给它。

最后,我们在渲染函数中调用 'controls.update()' 来更新控制器状态,以便响应用户的交互操作。

运行这段代码时,你可以使用鼠标左键拖动来旋转相机,使用鼠标滚轮来缩放场景,以及使用鼠标右键拖动来平移相机。

这是在 Three.js 中使用 'OrbitControls' 的基本示例。你可以根据需要进一步自定义控制器的属性和行为,例如限制旋转、缩放和平移的范围,或更改交互的灵敏度。

请注意,你需要在项目中引入 Three.js 库和 OrbitControls 脚本才能使这段代码正常工作。你可以参考官方 Three.js 文档,了解更多关于使用 'OrbitControls' 和其他库功能的信息和示例。

Three.js OrbitControls: 3D 场景相机交互控制

原文地址: https://www.cveoy.top/t/topic/cinC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录