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

Bea*_*der 4 c# rotation unity-game-engine

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

在此处输入图片说明

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

我用来使矩形查看播放器的代码是:

transform.LookAt(player.transform.position);
Run Code Online (Sandbox Code Playgroud)

那么,如何使用我拥有的代码使矩形的枢轴点位于其末尾,以便矩形不会在其后面发生碰撞。

print("感谢所有帮助!");

:D

编辑:

我做了 Zackary 所说的,它工作正常,只是它向后 - 我该如何解决?

在此处输入图片说明

Zac*_*ary 6

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

1. 定义你自己的几何

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

2. 锚

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