¿Cómo crearon la gente de EA DICE entornos destructibles en Battlefield Bad Company 2 y Battlefield 3?
¿Acaban de ensamblar los edificios de subregiones predefinidas, que se rompen cuando hay una explosión o algo similar? No puedo pensar en otra cosa.
Respuestas:
Para decirlo simplemente sí, lo que hacen. Pero vaya un largo extra para cubrir los bordes rectos usando la máscara de destrucción . Después de eliminar la parte de la geometría, agregan una malla detallada alrededor de la sección destruida para que parezca creíble.
Así es como funciona,
Al destruir una parte de esta casa, comienzan eliminando una pieza de la geometría.
Luego se agregaron detalles de mallas alrededor de la sección destruida.
Y el paso final es agregar la máscara de destrucción.
También usan efectos de partículas y desechos de malla para una apariencia más dramática.
(Toda la referencia está tomada de esas 2 publicaciones que mencioné en el comentario)
fuente
Esto es CSG - Geometría sólida constructiva (aunque en este caso, es destructivo, estrictamente hablando), si desea investigar más sobre cómo funcionan realmente los algoritmos.
El enfoque estándar es usar las dos mallas existentes A y B (la casa y el volumen de "explosión" sustraído) para generar una tercera "malla" (gráfica) donde las dos mallas se cruzan planos y bordes, C, que describe el área que comparten. En 2D:
A es la casa, B es el volumen de la explosión, C es el área de unión / intersección entre A y B. G es el suelo.
La matemática / lógica detrás de esto no es trivial, ya que hay muchos casos extremos con los que lidiar y la mitad o más de esta tarea solo reconoce cuáles de los posibles tipos de gráficos de resultados son casos especiales que deben ser atendidos en el código. He visto el problema descrito por los veteranos en gamedev.net como "un problema muy difícil" y puedo decir que al intentarlo en 2D, incluso, y tener un grado moderado de éxito donde solo fallan un par de casos extremos, que no es una tarea pequeña
Una forma que podría ser más fácil es usar un algoritmo de descomposición de polígonos y usar la geometría que crea como base para la destrucción de su geometría.
fuente