【问题标题】:Unity3D - How to get the angle between 2 points as a vectorUnity3D - 如何将两点之间的角度作为矢量
【发布时间】:2014-07-05 02:31:28
【问题描述】:

我在尝试完成统一代码(使用 Javascript/Unityscript)时遇到了问题,所以问题是: 如何获得两点之间的角度(作为 Vector3s)以及作为另一个 Vector3 的角度

我的代码是:

var Offset : Vector3 = (0,0,3);
var angle1 : Vector3;
angle1 = Vector3.Angle(Vector3(0,0,0), Offset);

我得到的错误是: BCE0022:无法将“float”转换为“UnityEngine.Vector3”。

我环顾四周,但只能找到我已经知道的。

提前感谢您的帮助!

-Etaash

【问题讨论】:

  • 我不清楚将角度作为矢量是什么意思。您想如何将角度表示为矢量?如果你能给出一个你想要的输入和你想要的输出的例子,具体的数字可能会有所帮助。
  • @CiscoIPPhone 将给出的输入是两个点(作为 Vector3,即:(0,0,0) 和 (0,0,3))。我想看到的输出是它们之间的角度。我应该能够分别挑选出 Z 角、Y 角等。如果你使用 Unity,可以在变换组件菜单中看到这个角度的示例。

标签: vector unity3d angle unityscript


【解决方案1】:

除了提到的语法错误 letiagoalve,Vector3.Angle 返回一个浮点数,而不是 Vector3。你不需要预先定义角度变量,你可以做到这一点。您的最终代码应如下所示:

var Offset : Vector3 = Vector3(0,0,3);
var angle1 = Vector3.Angle(Vector3(0,0,0), Offset);

【讨论】:

  • 我怎样才能让它返回一个 Vector3 ?
  • 你不能,这不是角度。您是否试图获得一个从一个点到另一个点的方向的向量?
猜你喜欢
  • 1970-01-01
  • 2018-08-07
  • 2014-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-09
  • 2020-04-16
  • 1970-01-01
相关资源
最近更新 更多