three模型吸附
功能需求
将两个模型或多个模型拼装成一个模型然后导出,模型拼装手动修改模型变换尽管有TransformControls可以进行变换操作,但是对于用户来说有点麻烦,并且效果也不大好,不一定保证贴合.
实现思路
- 将两个模型的选中的点进行吸附
- 将两个模型选中的三角面进行吸附
点吸附只需将位置更新,主要考虑面吸附.
预览图
实现
- 监听鼠标点击事件,Raycaster获取点击的信息
- 拿到点击的模型,以及点击的信息intersection
- 计算旋转轴旋转角度
- 旋转模型更新模型矩阵
- 获取坐标信息,更新位置信息
- GLTFExporter导出模型