Sreaver 6 Report post Posted December 8, 2020 Buenas noches, estoy practicando con el típico juego "rebotes" a lo arkanoid. Tengo unos materiales físicos aplicados a la barra y la pelota para que rebote y no pierda velocidad. Sin fricción. Los bloques tienen marcado "is kinetic", con el material también para que rebote. Estoy utilizando un OnCollisionEnter que funciona bien cuando la pelota golpea se elimina el objeto, pero algunas veces cuando la pelota golpea en determinadas zonas a el lateral del ladrillo hay veces que se destruye pero no rebota, es decir la pelota sigue en la misma trayectoria. He puesto la colisión en dinámica, pero esta no parece ser la solución. ¿Alguna idea? Gracias Share this post Link to post Share on other sites
leocub58 208 Report post Posted December 8, 2020 prueba con un delay a la hora de destruir el bloque. El método Destroy tiene como parámetro opcional un tiempo de espera. Destroy(GameObject, Delay); en tu caso sería Destroy(bloque, 0.5f); Share this post Link to post Share on other sites
Sreaver 6 Report post Posted December 8, 2020 Buenas. Hace lo mismo, aunque me ha venido bien para otro efecto que quiero aplicar. Por lo que veo cuando roza por la orilla el bloque lo destruye y no se desvía la trayectoria de la bola. Me tiene loco el tema. He probado cambiando el tamaño del box collider en los bloques, pero nada. Share this post Link to post Share on other sites
lightbug 832 Report post Posted December 8, 2020 (edited) 19 hours ago, Sreaver said: Los bloques tienen marcado "is kinetic" 😂 Me rio porque tenía un asset llamado Kinematic 2D y el 90% de los usuarios me decian "Muy bueno el kinetic" ajjaja. 19 hours ago, Sreaver said: ¿Alguna idea? La pelota debería rebotar bien ya que OnCollisionEnter/Exit/Stay ocurren luego de la simulación, es decir que las velocidades ya fueron calculadas (el rebote en este caso). Es decir que el bloque se elimina de manera segura con Destroy. 19 hours ago, Sreaver said: pero algunas veces cuando la pelota golpea en determinadas zonas a el lateral del ladrillo hay veces que se destruye pero no rebota, Quizás el problema no sea de OnCollisionEnter (bueno, no lo es ya que lo mencionas en el post), puede ser que las físicas estén haciendo su trabajo bien. ¿Estás seguro que tu collider es rectangular? La esfera al colisionar te devuelve una normal "interpolada" (no se si es el término correcto): Pobrá con reemplazar el collider de la bola de un circulo (asumo que estás usando esto) por una caja. Recorda freezar la rotación Z (en Rigidbody). Saludos Edited December 8, 2020 by lightbug Share this post Link to post Share on other sites
Sreaver 6 Report post Posted December 8, 2020 Jajaja. Es que me estoy familiarizando con las palabras todavía.... El eje z si esta congelado. Ya me pasaba que se iba la bola a tomar viento 😂. Mañana revisaré todo y probaré a cambiar la forma del collider. No pensaba atascarme en estas cosillas, la verdad está resultando el aprendizaje más complicado de lo que parecía. Gracias Share this post Link to post Share on other sites