我目前正在尝试在统一上构建雷达传感器。我目前正在使用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
答案 0 :(得分:0)
据我所知,你的代码没有做任何事情。我的第一个提示是删除所有已注释掉的代码,但之后就是为什么你的代码什么都不做了:
将一组对象传递给脚本。好到目前为止。
您将整个对象数组'CurrentHitObjects'并将每个对象的transform.position传递给单个vector3。这意味着除了最后一个值之外,所有值都将被覆盖。如果您试图找到每个对象的位置,这将是一个大问题。这将需要vector3 []。但还有另一个更大的问题。
'previous',它保存transform.position对象不会在任何地方使用。所以你实际上并没有找到任何位置。
你使用start()(顺便运行一次)迭代你的对象数组,但是你在update()的开头就清除了CurrentHitObjects.Clear();顺便说一下每秒多次)。这里的问题是,如果你希望在你的代码中使用CurrentHitObjects来做任何事情,你就不能因为你在开始做任何事情之前已经擦过了它。
你的光线投射[]一无所获。在我看来它只是向前射击。
您正在找到前进方向和前进方向之间的角度?
老实说,这段代码存在很多重大问题。我并不是说要苛刻,但看起来你复制并粘贴别人的代码而不知道如何使用它。这需要完整的返工。如果你知道如何编码,我会把它扔出去重新开始。看看我对你的回答的评论,以便更好地做你想做的事。
如果你不知道如何编码,你不应该要求stackoverflow上的免费工作代码。尝试一个团结论坛。如果您想要变得更好,请参阅我的上述评论。