Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

three.js orbitcontrols

作者:事到如今我依如故ゝ   发布日期:2025-02-21   浏览:123

// 引入 three.js 和 OrbitControls
import * as THREE from 'three';
import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js';

// 创建场景
const scene = new THREE.Scene();

// 创建相机
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
camera.position.z = 5;

// 创建渲染器
const renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);

// 添加一个立方体
const geometry = new THREE.BoxGeometry();
const material = new THREE.MeshBasicMaterial({ color: 0x00ff00 });
const cube = new THREE.Mesh(geometry, material);
scene.add(cube);

// 创建 OrbitControls 实例并传入相机和渲染器的 dom 元素
const controls = new OrbitControls(camera, renderer.domElement);

// 渲染循环
function animate() {
    requestAnimationFrame(animate);

    // 更新控制器
    controls.update();

    renderer.render(scene, camera);
}

animate();

解释说明

  1. 引入依赖:首先我们引入了 three.jsOrbitControlsOrbitControls 是一个用于控制相机旋转、缩放和平移的插件。
  2. 创建场景:创建了一个空的场景 scene
  3. 创建相机:创建了一个透视相机 camera,并将其位置设置在 z 轴上距离原点 5 个单位的位置。
  4. 创建渲染器:创建了一个 WebGL 渲染器,并将它添加到页面中。
  5. 添加几何体:创建了一个简单的立方体,并将其添加到场景中。
  6. 创建 OrbitControls:创建了一个 OrbitControls 实例,并将相机和渲染器的 dom 元素传递给它,这样用户就可以通过鼠标操作来控制相机的移动。
  7. 渲染循环:定义了一个渲染循环函数 animate,在这个函数中调用 requestAnimationFrame 来不断更新画面,并调用 controls.update() 来确保控制器的状态是最新的。

上一篇:js reactive

下一篇:three.js webgpu

大家都在看

js 数组对象排序

js 数组删掉第一个值

js fill

js 数组复制

js 复制数组

js 数组拷贝

js 对象转数组

js 深拷贝数组

js 获取今天年月日

js jsonp

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站