Не удается проверить столкновения — Unity

В настоящее время я разрабатываю демонстрацию AI для файтинга с использованием игрового движка Unity. Я написал OnTriggerEnter, который обнаруживает кулаки или пинки; однако он обнаруживает действия тогда и только тогда, когда персонажи двигаются. Я пробовал rigidboy.WakeUp() и rigidbody.AddForce( new Vector3(0,0,0) ), но они не решили проблему.

Проблема такая:

Например, я пинаю другого персонажа, и нога моего персонажа входит и выходит из коллайдера, но OnTriggerEnter не вызывается, пока я не передвину своего персонажа.

Как я могу решить эту проблему?

Вот мой код:

function OnTriggerEnter(collision : Collider)
{
    if( collision.gameObject.CompareTag("playerLeg") || collision.gameObject.CompareTag("playerArm" ) )
    {
        Debug.Log("CPU RıNGO! RıNGO!"); 
    }
}

P.S. Кроме того, я пробовал RaycastHit, и это не сработало...


person ciyo    schedule 03.02.2013    source источник
comment
Вы включили AnimatePhysics?   -  person Kay    schedule 03.02.2013
comment
В настоящее время я не использую анимацию. Я создал несколько базовых моделей самостоятельно и использую их.   -  person ciyo    schedule 05.02.2013
comment
Он все еще актуален? Нужно больше деталей, чтобы помочь вам   -  person Dzianis Yafimau    schedule 12.01.2016


Ответы (1)


Немного глупый вопрос, но есть ли у вас IsTrigger=true к какому-либо из ваших объектов? Кроме того, оба сталкивающихся объекта имеют твердое тело??

person Pontios    schedule 02.11.2016