import "./style.css";import * as THREE from "three";import gsap from 'gsap'const scene = new THREE.Scene();const geometry = new THREE.BoxGeometry(1, 1, 1);const material = new THREE.MeshBasicMaterial({ color: 0xff0000 });const mesh = new THREE.Mesh(geometry, material);scene.add(mesh);const sizes = { width: 800, height: 600,};let cursor={ x:0, y:0}window.addEventListener('mousemove',function(event){ cursor.x=event.clientX/sizes.width-0.5 cursor.y=-(event.clientY/sizes.height-0.5) console.log(cursor)})const camera = new THREE.PerspectiveCamera(75, sizes.width / sizes.height);camera.position.z = 3;scene.add(camera);const canvas = document.querySelector("canvas.webgl");const renderer = new THREE.WebGLRenderer({ canvas,});renderer.setSize(sizes.width, sizes.height);// gsap.to(mesh.rotation,{duration:1,delay:1,y:2})const tick=()=>{
Constructor OrbitControls( object : Camera, domElement : HTMLDOMElement ) object: (required) The camera to be controlled. The camera must not be a child of another object, unless that object is the scene itself. domElement: (optional) The HTML element used for event listeners. By default this is the whole document, however if you only want the controls to work over a specific element (e.g. the canvas) you can specify that here.
翻译
构造函数 OrbitControls( object : Camera,domElement : HTMLDOMElement)
@param | object必选)要控制的摄像机。摄像机不能是另一个对象的子对象,除非该对象是场景本身。
@param | domElement可选)用于事件侦听器的HTML元素。默认情况下,这是整个文档,但是如果您只想控制特定的元素(例如画布),您可以在这里指定。
在webpack 中引入示例:
import {OrbitControls} from 'three/examples/jsm/controls/OrbitControls'
.enableDamping : Boolean Set to true to enable damping (inertia), which can be used to give a sense of weight to the controls. Default is false. Note that if this is enabled, you must call .update () in your animation loop.
。enableDamping:布尔值 设定为true以启用阻尼(惯性),这可用于给控件一种重量感。默认值为false。 请注意,如果启用了此选项,您必须调用。动画循环中的update()。