如何在 Unity 中更改对象的枢轴点

How To Change The Pivot Point Of An Object In Unity

我有一个问题。我想让一个对象的枢轴点位于对象的末端而不是中心。这是我正在创建的 AI,我需要一个不可见的矩形来观察玩家,我这样做是为了检测是否有障碍物——我已经在使用光线投射,但有时在某些角度线感觉不到障碍物,因此我也需要不可见的矩形。虽然,问题是有时矩形会从它后面拾起障碍物,因为它绕着自身的中心而不是末端旋转。它看起来像这样:

顺便说一句,我正在使用 C#。

我用来让矩形看玩家的代​​码是:

transform.LookAt(player.transform.position);

那么,如何使用我的代码使矩形的轴心点位于其末端,这样矩形就不会在其后面发生碰撞。

打印("All Help is Appreciated!");

:D

编辑:

我按照 Zackary 所说的做了,它工作正常,只是它是倒退的 - 我该如何解决这个问题?

有两种常用的方法:定义自己的几何体和锚点。

1.定义您自己的几何体

如果您精通模型构建软件(例如 Maya 或 Blender),它们通常支持允许您指定几何体中心点的工具。我相信,将这些模型导入 Unity 可以保留这些中心点。

2。锚

也许最简单的方法是使用锚点对象。只需创建一个空对象用作要以一定偏移量旋转的模型的变换父对象,从锚点适当地平移子对象,然后将您最初对锚点对象(而不是子对象)进行的任何变换应用。

不幸的是,在 Unity 中,无法开箱即用地修改实际的枢轴点。我知道这真的很烦人,也是我在 Unity 中一直想要的东西。所以我决定为此创建一个编辑器实用程序。

您可以在这里试用我的资产:

https://assetstore.unity.com/packages/tools/utilities/pivot-modder-152501

它允许您在 unity 编辑器中方便地修改枢轴位置和旋转,它还为您提供各种有用的选项,例如枢轴捕捉,使您可以更精确地操纵枢轴。它也适合检查器,不需要添加组件和从编辑器中打开 windows。