如何设置球体投射的视角,还可以读取物体前面的角度?

时间:2018-05-01 17:01:43

标签: unity3d angle raycasting

这就是我想要实现的目标 this is what i want to achieve

我目前正在尝试在统一上构建雷达传感器。我目前正在使用spherecast。如何设置球体投射的视角以及如何读取物体前面的角度。

我现在使用的是> str = "karhik reddy" > (n = str.length).times { |i| str[i...i], str[n..n] = str[n-1], '' } > str #⇒ "ydder kihrak" ,但是如果物体直接位于雷达的前方,则显示160度,而不是显示90度。

我粘贴我在下面实现的代码 任何指导都表示赞赏。

Vector3.angle

1 个答案:

答案 0 :(得分:0)

据我所知,你的代码没有做任何事情。我的第一个提示是删除所有已注释掉的代码,但之后就是为什么你的代码什么都不做了:

将一组对象传递给脚本。好到目前为止。

  1. 您将整个对象数组'CurrentHitObjects'并将每个对象的transform.position传递给单个vector3。这意味着除了最后一个值之外,所有值都将被覆盖。如果您试图找到每个对象的位置,这将是一个大问题。这将需要vector3 []。但还有另一个更大的问题。

  2. 'previous',它保存transform.position对象不会在任何地方使用。所以你实际上并没有找到任何位置。

  3. 你使用start()(顺便运行一次)迭代你的对象数组,但是你在update()的开头就清除了CurrentHitObjects.Clear();顺便说一下每秒多次)。这里的问题是,如果你希望在你的代码中使用CurrentHitObjects来做任何事情,你就不能因为你在开始做任何事情之前已经擦过了它。

  4. 你的光线投射[]一无所获。在我看来它只是向前射击。

  5. 您正在找到前进方向和前进方向之间的角度?

  6. 老实说,这段代码存在很多重大问题。我并不是说要苛刻,但看起来你复制并粘贴别人的代码而不知道如何使用它。这需要完整的返工。如果你知道如何编码,我会把它扔出去重新开始。看看我对你的回答的评论,以便更好地做你想做的事。

    如果你不知道如何编码,你不应该要求stackoverflow上的免费工作代码。尝试一个团结论坛。如果您想要变得更好,请参阅我的上述评论。