<script type="module"> import * as THREE from "three"; // 导入轨道控制器 // import { OrbitControls } from 'https://cdn.jsdelivr.net/npm/three@0.157.0/examples/jsm/controls/OrbitControls.js'; import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; // console.log(THREE);
// 目标:使用控制器查看3d物体
// 1、创建场景 const scene = new THREE.Scene();
// 2、创建相机 const camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 );
// 创建物体 A const geometryA = new THREE.BoxGeometry(10, 1, 1); // 举例:使用盒子几何体 const materialA = new THREE.MeshBasicMaterial({ color: 0xff0000 }); const objectA = new THREE.Mesh(geometryA, materialA); scene.add(objectA); // 将物体 A 添加到场景 objectA.position.set(-2,0,0)//故意把A不妨到世界原点 // 创建物体 B const geometryB = new THREE.BoxGeometry(1, 1, 10); // 举例:使用盒子几何体 const materialB = new THREE.MeshBasicMaterial({ color: 0x00FF00 }); // 设置颜色为红色 const objectB = new THREE.Mesh(geometryB, materialB);
// 计算物体 B 相对于物体 A 的位置,使其居中 const relativePositionB = new THREE.Vector3(0, 0, 0); // 通过调整这些值来设置 B 相对于 A 的位置 objectB.position.set(5,0,0)//故意把设置到其他为止 objectB.scale.set(0.01,1,1) // 设置物体 B 的位置中间 objectB.position.copy(relativePositionB);