Unity ничего не происходит при столкновении объектов

#c# #unity3d #game-engine

#c# #unity3d #игровой движок

Вопрос:

Я хочу войти в консоль, когда куб проходит через другой куб, другой куб имеет сетчатый коллайдер с выпуклостью, а для isTrigger установлено значение true.

 using UnityEngine;

public class score_addations : MonoBehaviour
{
    //[SerializeField]
    //private int SCORE = 0;

    private void OnCollisionEnter(Collision collision)
    {
        if (collision.gameObject.tag == "score")
        {
            Debug.Log("Pass");
        }
        else
        {
            Debug.Log("Fail");
        }
    }

    private void Start()
    {
        //Cursor.lockState = CursorLockMode.Locked;
        //Cursor.visible = false;
    }
}
  

Вот изображение моей игры введите описание изображения здесь

Комментарии:

1. OnCollisionEnter не будет работать для триггеров. Попробуйте использовать OnTriggerEnter .

2. Позвольте мне попробовать OnTriggerEnter

3. Ошибка скрипта: OnTriggerEnter Этот параметр сообщения должен иметь тип: Collider Сообщение будет проигнорировано.

4. Пожалуйста, посмотрите на это

5. Покажите мне код, который относится ко мне.

Ответ №1:

для используемых вами триггеров OnTriggerEnter(Collider) используйте этот код

 private void OnTriggerEnter(Collider collision)
{
    if (collision.gameObject.tag == "score")
    {
        Debug.Log("Pass");
    }
    else
    {
        Debug.Log("Fail");
    }
}
  

Комментарии:

1. Работает ли это с анимациями, потому что мой куб движется с помощью анимации.

2. Ничего не происходит

3. @RTX_CODE, вероятно, нет .. физика и обнаружение столкновений работают некорректно, если ваши объекты не перемещаются с помощью Rigidbody -> Physics engine. Если вы перемещаете объект с помощью анимации, вы можете затормозить систему.