Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

178
Vistas
Manténgase alejado del objetivo

Tengo una matriz que está llena de todos los objetos con la etiqueta Enemigo. Cuando un enemigo se acerca a otro enemigo, tiene que mantenerse alejado de ese enemigo o rodearlo.

Esto es lo que tengo ahora:

 foreach(Transform enemy in enemies){ if(enemy == this.transform) continue; enemyPos = enemy; float enemyDistance = Vector3.Distance(enemy.transform.position, transform.position); if(enemyDistance < 8){ transform.RotateAround (enemyPos.position, Vector3.up, 360 * Time.deltaTime); } }

Si los enemigos se acercan lo suficiente, se rodearán unos a otros. También traté de usar 2 disparadores de cubo para cuando un objeto enemigo toca uno de los cubos, el enemigo en cubo girará alejándose de él. También probé diferentes ángulos. Pero sin suerte :(

Todavía estoy tratando de encontrar una solución. Pero si tienes una mejor idea sobre esto, tu ayuda es muy apreciada :)

¡¡¡Gracias por adelantado!!!

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Tiene varios objetos en movimiento, y algunos de ellos pueden interponerse en el camino de otros objetos. Le propondría que pospusiera el movimiento de todos aquellos objetos que tienen un obstáculo en movimiento frente a ellos. Cuando todos los objetos que se mueven libremente se hayan movido, intente mover todos los demás, repitiendo el procedimiento, porque en el proceso algunos objetos pueden quedar libres. Básicamente, recorre la lista de objetos que aún no se han movido hasta que no hay cambios en la lista.

Si no encuentra ningún objeto nuevo que se mueva libremente, trate el resto como quiera. Le sugiero que intente encontrar una ruta alternativa solo para uno de ellos y luego repita el procedimiento anterior. Puede ser que cuando un objeto se despegue, todos los demás también se despeguen. Puede repetir este segundo procedimiento para el resto de objetos atascados.

over 4 years ago · Santiago Trujillo Denunciar

0

El siguiente artículo podría ayudarte.

En resumen, sus agentes se "repelen" entre sí cuando están por debajo de la distancia dada. Este es el concepto de "separación" en el rebaño. Lo realmente interesante es que puedes tener una rotación que depende de la distancia (es decir, otro agente muy cerca significa que tienes que girar fuerte) y que puedes interactuar con más de un agente.

en el mismo sitio, esto puede ayudarlo a buscar el reproductor. Combina los dos métodos y tienes agentes que intentan atrapar al jugador mientras evitan a otros agentes.

Saludos a Guillaume

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda