C# объект проходит сквозь стену
Помогите мне, тут я хочу, чтобы мой объект(не player, а объект) касался стены и поворачивался,типо как в пинг-понг, он он не работает, просто проходит сквозь стены. Причина не в том, что он не поворачивает, а он даже не реагирует на касание. Я в if добавил Debug Log после прикосновения, но он даже на это не среагировал. Вот код объекта если что.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class pat : MonoBehaviour
{
public float speed;
void Start()
{
speed = 5;
}
void Update()
{
transform.Translate(speed * Time.deltaTime, 0, 0);
}
private void OnTriggerEnter(Collider other)
{
if (other.tag == "pat2")
{
transform.Rotate(0.0f, 180.0f, 0.0f);
}
if (other.tag == "pat")
{
transform.Rotate(0.0f, 0.0f, 0.0f);
}
}
}
Зелёный - это объект, я хочу, чтобы он касался стен, поворачивался и ехал вперёд. И так до бесконечности.

Rigibody или как там его уже пробовал, isTrigger отключал, включал, всё никак не работает. Буду очень благодарен за помощь.
Ответы (2 шт):
если я правильно понял, то у одного из объектов включен isTrigger Collider, отключите его и используйте в коде вместо OnTriggerEnter() - OnCollisionEnter(). Тогда он не будет проходить сквозь объект.
Всё уже сработало!! Спасибо @merkyr за подсказку, я добавил Collision и на объект прицепил rigidbody, отключил isTrigger и ВОЯЛА! Всё сработало, спасибо всем за помощь и подсказку. Вот что у меня получился, берите кому надо.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class pat : MonoBehaviour
{
public float speed;
void Start()
{
speed = 5;
}
void Update()
{
transform.Translate(speed * Time.deltaTime, 0, 0);
}
private void OnCollisionEnter(Collision col)
{
if (col.gameObject.tag == "pat 1")
{
transform.Rotate(0.0f, 180.0f, 0.0f);
}
if (col.gameObject.tag == "pat 2")
{
transform.Rotate(0.0f, 180.0f, 0.0f);
}
}
}