Estoy tratando de hacer un juego de tenis retro en Unity2D pero tengo algunos problemas con el sistema de colisión. Mi controlador no choca con las paredes. Pasa a través de ellos. Debería detenerse en la pared como en la imagen 1, pero la atraviesa como en la imagen 2. ¿Alguien puede ayudarme, por favor?
ACTUALIZACIÓN n. ° 1: agregué un componente RigidBody pero no lo soluciona. (foto3)
No debe usar el sistema de colisión para este propósito. Sería mucho mejor que el script a cargo de mover la paleta también pudiera controlar su altura máxima y mínima (tenga en cuenta que el tamaño de la pantalla puede cambiar y las paletas deben moverse a diferentes alturas según el tamaño de la pantalla).
Aunque si quieres hacerlo con el sistema de colisión y "paredes" que limitan el espacio de las paletas, tanto las "paredes" como las paletas deben tener un BoxCollider2D correctamente posicionado y las paletas un Rigidbody2D cinemático adicional también (ya que pueden moverse).
También asegúrese de mover las paletas usando la física y no modificando su posición con transform.position (ver Rigidbody2D.MovePosition )
Editar: el sistema de física Unity2D es un tema bastante complicado y es difícil hacerlo bien por su cuenta. Sugeriría aprender los conceptos básicos en Unity Learning Platform . Podrías empezar con este proyecto .
Necesita agregar RigidBody2D a su "círculo"