【发布时间】:2022-01-21 01:38:27
【问题描述】:
目前,我正在使用 Random GameObject Spawner 编写游戏。我要解决的问题是我使用Physics.Checksphere 来实例化对象,只有当我想要的半径周围的这个点没有对象时。
这是我的实现代码:
if(!Physics.CheckSphere(pos, spawnCollisionCheckRadius)) //Check Radius at pos
{
GameObject actStone = stones[Random.Range(0, stones.Count)]; //Get Random Stone Object from List
Instantiate(actStone, pos, rot); //Spawn Stone
}
所以我实际遇到的问题是,当我有一个球体对撞机时,我的 Physics.CheckSphere 代码不起作用,因为它会检查石头周围这个球体中的任何碰撞,并且每次它与我的星球发生碰撞时。但我需要一个环绕我的星球的对撞机。我怎样才能只为我检查带有“石头”标签的碰撞,而不是这个半径中的所有碰撞。我的想法可能是以某种方式使用Physics.OverlapSphere,但我实际上不知道如何实现它。感谢您的帮助,我希望将来我也可以帮助解决这个问题!
【问题讨论】:
-
函数中有一个 layerMask 参数。您可以使用图层来忽略某些碰撞。检查docs