Unity - 删除在另一个实例之上生成的其他实例,但保留原始实例



所以,我正在Unity中做一些关卡生成的东西,我有一些立方体在世界各地生成。我现在让它工作的方式是,每块地砖检查周围是否有"空气",如果是这样,它会生成一堵墙。但是,如果我遇到这种情况,这是两层楼之间的空气块,它会生成两堵墙。 有没有办法检查同一位置是否有多个,但防止一个破坏? 谢谢!

p.s 也一文不值,我使用光线投射放置墙壁,因此地板将一次击中在 4 个方向上检查。我认为它在放置立方体时会检查所有 4 个方向而不会停止。所以,可能是一个问题...

您可以尝试在光线投射击中的位置制作一个重叠球体,这样就可以检测到特定半径内的所有对象(彼此中的对象也是如此(

void GetWalls(Vector3 raycastTargetPosition, float radius)
{
Collider[] hitColliders = Physics.OverlapSphere(center, radius);
int i = 0;
while (i < hitColliders.Length)
{
hitColliders[i].SendMessage("AddDamage");
i++;
}
}

相关内容

最新更新