获取对象后面的位置(本地)?- Unity3D

Eta*_*ash 1 coordinates unity-game-engine unityscript

我在制作复杂(ish)相机行为(使用 Javascript)时遇到了问题。我遇到的问题是我无法在我的球员身后获得位置。请不要告诉我使用 Vector3.back 等,因为我想要本地位置,以支持转弯。如果相机总是设置在那个位置,它就不会工作,因为我有一个很酷的运动系统。

我尝试了多种方法,并把自己与数学混淆了。我也尝试过复杂的加法和减法。他们都没有工作。

我想我可能遗漏了一些非常简单的东西,比如进入局部坐标等的方法。(或者可能是一些数学函数)

提前致谢 -Etaash

小智 5

您可以获得任何变换的前向向量,如果您否定它就是后向向量。因此,在附加到播放器的脚本上,您将拥有:

Vector3 backward = -transform.forward;
Run Code Online (Sandbox Code Playgroud)

因此,要获得职位,您可以执行以下操作:

Vector3 pos = transform.position + (backward * dist); // where dist is a float to scale how far away from the position you want it
Run Code Online (Sandbox Code Playgroud)