初面网初面网

变换

位移

假设物体变量为cube。

物体的位移有两种方法:设置向量和设置某个轴的值。

const geometry = new THREE.BoxGeometry(1,1,1);
const material = new THREE.MeshBasicMaterial({color:0x00ff00});
const cube = new THREE.Mesh(geometry,material);

cube.position.set(1,1,1);

// 或者单独设置三个分量
cube.position.x = 5;
cube.position.y = 10;
cube.position.z = 15;

// 也可以用向量表示
const vector = new THREE.Vector3(1,1,1);
cube.position.copy(vector);

scene.add(cube);

缩放

缩放同位移相似

cube.scale.set(2,1,1);
cube.scale.x = 2;
cube.scale.y = 2;
cube.scale.z = 2;
// 也可以用向量表示
const vector = new THREE.Vector3(1,1,1);
cube.scale.copy(vector);

旋转

旋转同位移相似

// 设置旋转顺序
cube.rotation.reorder('YXZ');

cube.rotation.set(2,1,1);
cube.rotation.x = 2;
cube.rotation.y = 2;
cube.rotation.z = 2;
// 也可以用向量表示
const vector = new THREE.Vector3(1,1,1);
cube.rotation.copy(vector);

间距

const distence = cube.position.distanceTo(cube2.position);
console.log(distence);

朝向某个点或物体

// 朝向物体
cube.lookAt(cube2.position);
// 朝向某个点
const point = new THREE.Vector3(0,0,0);
cube.lookAt(point);

编组

const group = new THREE.Group();
group.add(cube1,cube2);

更新于 2025/6/25