问题重述:
在unity中开发时,有时候拿到的模型的坐标系并不是在模型的中心,甚至可能离模型中心很远,这种情况对于网上下载的模型尤为常见。
对于上述问题我们可以回顾一下unity中的pivot与center两个坐标系。
转述自Unity_阿黄
- pivot就是模型的真实坐标轴,也就是说在建模软件中设定的坐标轴。
- center是unity自己根据模型的mesh计算的中心位置坐标系,和模型真实坐标轴没有关系。
- transform.position 的位置就是这个 pivot坐标系的位置
我们一般的平移、旋转等只能对pivot坐标系进行操作,而不能直接对center坐标系进行操作,因此可以有如下的解决方案:将该模型挂载在一个空物体之下,并将空物体坐标系位置设置在模型center坐标系位置(网上一个哥们的思路,我在这里详细总结一下)
详细实验过程:
1. 环境准备:
如上图所示,是一个从网上下载的香烟的模型,我已经将坐标系位置置零了,可是我们看到模型中心位置离坐标系很远。
2. 计算模型中心位置
这里需要计算