所以我有一个名为
的函数function AngleToVector(speed,xAngle,yAngle,zAngle)
local angle = Vector3.new(xAngle,yAngle,zAngle)
--
-- calculations
--
local position = Vector3.new(SOMETHING,SOMETHING,SOMETHING)
return position
end
我决定改写整个问题。在图中,sqrt(27)是子弹在一秒钟内行进的距离。假设我知道3个角度决定了这条线指向的位置。我正在尝试使用我的“速度”标量找到3,红绿蓝和虚线的长度,以及显示我标量方向的3个角度。
答案 0 :(得分:0)
您声明返回的最终Vector3应包含主题应该介入以达到特定速度的值。这实际上很直接。返回的Vector3应该是角度向量的单位向量乘以速度标量。
这是一个数学问题,而不是编程问题,我不熟悉您正在使用的库,所以我将以数学方式回答它。首先,将角度矢量的每个分量除以角度矢量的大小。这为您提供了该方向的单位矢量(例如,该方向为1米)。将此单位向量乘以给定的速度,这将为您提供speed
个步骤。然后,您可以将此新矢量添加到要移动的对象的当前位置。
我建议在矢量和矩阵上做一些阅读。
答案 1 :(得分:0)
velocityVector = CFrame.Angles(xAngle,yAngle,zAngle).lookVector*speed
可能是你想要的。 CFrame.lookVector
为您提供Luke所谈论的单位Vector。 CFrame当你习惯它时,一切都变得容易了。