TransformControls移动多个模型

更新时间: 2022-03-04 11:39:26

昨天产品经理提需求说公司的3d场景编辑器需要支持多选模型,然后一起移动缩放旋转选中的模型。这把我难到了,我使用的TransformControls明确一次只能控制一个物体的,不过今天早上来公司突然就想通了

# 解决思路

  1. 准备两个Group(),一个叫做 normalGroup,一个叫做 selectedGroup,顾名思义,一个是存放未选中的寻常模型的,另一个是放选中的模型的
  2. 然后使用TransformControls去控制selectedGroup就可以一次性移动多个模型了
  3. 然后保存模型位置的时候,将selectGroup中的children通过normalGroup().attach(object)方法添加到normalGroup中。使用attach方法添加可以保留模型世界坐标的影响。

# 来看下效果