统计Unity3d中的碰撞

时间:2012-07-24 23:48:51

标签: unity3d collision

所以,我有GameObject个命名框的列表,我需要计算Update()中该列表中元素的碰撞,如:

void Update()
{
    int collisionNumber = boxes[0].CountCollisions;
}

我该怎么做?

1 个答案:

答案 0 :(得分:2)

您可能会为每种类型(框)编写一个小脚本,要求将其与Collider.OnCollisionEnter计算碰撞

public int countCollisions = 0;

void OnCollisionEnter(Collision hit)
{
    if (hit.gameObject.name == "Cube" )
        countCollisions++;
}

将其附加到列表中的每个多维数据集(可能通过AddComponent())并递归调用countCollisions的值。

int totalCollisions = 0;
for (int i = 0; i != boxes.Length ;++i)
{
    totalCollisions += boxes[i].countCollisions;
}