项目开发中难免会遇到客户导出的3D模型中心点并不在坐标中心,这时候直接渲染这个模型会发现模型位置会有所偏移
calcMeshCenter(group) {
/**
* 包围盒全自动计算:模型整体居中
*/
var box3 = new THREE.Box3()
// 计算层级模型group的包围盒
// 模型group是加载一个三维模型返回的对象,包含多个网格模型
box3.expandByObject(group)
// 计算一个层级模型对应包围盒的几何体中心在世界坐标中的位置
var center = new THREE.Vector3()
box3.getCenter(center)
// console.log('查看几何体中心坐标', center);
// 重新设置模型的位置,使之居中。
group.position.x = group.position.x - center.x
group.position.y = group.position.y - center.y
group.position.z = group.position.z - center.z
}
引用:Three.js模型居中