#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. Если вы перемещаете объект с помощью анимации, вы можете затормозить систему.