【问题标题】:Unity all objects have same position统一所有对象具有相同的位置
【发布时间】:2019-02-12 14:31:31
【问题描述】:

我的 Unity 项目中有一个 3d 建筑模型。它有很多孩子,比如门、墙等。问题是,所有孩子都指向 Unity 世界中的相同位置(24.97、-2.08、19.35)。他们的变换显示了这个位置。而这个位置与他们的实际位置相去甚远。我该如何解决这个问题?

我尝试将所有孩子从父母那里解放出来,但这并没有改变任何事情。

我希望它们显示它们的真实位置,当我们点击它们时,它会与移动工具一起出现。

Here is the image link

【问题讨论】:

  • 要让组件显示世界位置,所有父对象都需要设置为位置 (0,0,0),否则该位置是相对于父位置的。
  • 不,问题不是父母。即使没有父级,它们也会显示错误的 Unity 坐标。

标签: unity3d


【解决方案1】:

这似乎只是他们从制作模型的 3D 编辑器“错误地”导出的支点。

在您从 3D 编辑器(Blender、Maya 等)正确导出之前,这不会改变。

Unity 不适用于 3D 网格建模,因此在 Unity 本身中您无法更改轴心点。


有一个非常简单的修复方法

  1. 添加一个新的空GameObject

  2. 在检查器中转到Transform 组件,单击上下文菜单并点击Reset(您也只需将其设置为位置0,0,0 旋转0,0,0 和缩放1,1,1)假设枢轴应位于0,0,0

  3. 现在将所有对象拖放到空的GameObject

=> 您现在有一个具有正确枢轴的父对象。

通过将其包装在父对象中,子节点不再重要。您可以简单地使用正确的枢轴对父对象进行所有平移、旋转和缩放,而根本不必关心那个“错误”的位置。

【讨论】:

  • 没有改变任何东西,它们仍然显示相同的位置。
  • 它们可以显示相同的位置,但您的枢轴必须已更改。此问题可能是由网格顶点的位置引起的。
  • 没有任何改变。似乎他们有一个看不见的中心,离他们有一段距离。这个问题和我想的差不多:stackoverflow.com/questions/36115741/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-30
  • 1970-01-01
相关资源
最近更新 更多