Skip to content

拖拽控制

Transform Controls

▶ 在线运行案例

拖拽控制

你将学到什么

  • TransformControls 三种模式 translate / rotate / scale
  • attach(object) 绑定要操控的 Object3D
  • 拖拽时 禁用 OrbitControls 避免冲突

效果说明

GUI 可切换模式,并将控制器 attach 到 Fox 模型、平行光或地面平面,拖拽 gizmo 实时变换对象。

核心概念

js
const transformControls = new TransformControls(camera, renderer.domElement);
scene.add(transformControls.getHelper());

transformControls.addEventListener('dragging-changed', event => {
    controls.enabled = !event.value;  // 拖拽中关掉轨道控制
});

folder.add(transformControls, 'mode', ['translate', 'rotate', 'scale']);
transformControls.attach(model);
模式快捷键(默认)作用
translateW平移
rotateE旋转
scaleR缩放

小结

基础案例 · Three.js · 16/35