#17 No comprendo a que te refieres, ¿que animación se ejecuta cada 0.7 segundos? Con el código que he puesto debería cambiar la variable del animator, parar el movimiento horizontal del personaje y destruir al personaje a los 0.7 segundos, nada más que eso. Y eso sólo cuando el personaje entra dentro del trigger del obstáculo, en ningún otro caso.
¿Tienes el playerMuerto del animator inicializado a false en el propio animator? Porque con los cambios que puse en mi script ya no se actualiza constantemente y, por lo tanto, hay que tenerlo inicializado a false o ya comenzará con la animación de muerte.
¿La animación de muerte la tienes en loop? Si es así quítaselo porque no necesitas loop en esa animación.
También deberías añadir al código del personaje
//Si el personaje no está muerto
if ( !animator.GetBool("playerMuerto") )
Y meter dentro todo el código del input, para evitar que el jugador pueda hacer acciones con el personaje cuando se ha muerto.