统一销毁子弹后的距离

问题描述 投票:0回答:1

我想在Unity中做一个FPS,我遇到了武器范围。我想让一把突击步枪有100米的射程,这样当我从它身上射出一颗子弹时,子弹应该在100米后销毁。我怎样才能做到这一点?我使用raycasts的方向与hit.point(有最大的距离)来知道我的子弹打在哪里。我知道有一个函数Destroy(seconds),它可以在浮动的秒数后摧毁对象。我怎样才能不在一段时间后销毁子弹,而是在一定距离后销毁?先谢谢你的回答 :)

unity3d distance destroy bullet
1个回答
1
投票

它真的很容易。

用... Vector3.Distance 计算初始位置与位置弹(transform.position)之间的距离。

 `Vector3.Distance(initialposition, transform.position)`

如果>指定的距离,你就销毁对象

你可以使用另一个功能。(transform.position - initialposition).magnitude

也许在性能上更好,如果需要(我不知道)。

© www.soinside.com 2019 - 2024. All rights reserved.