¿Cómo creó EA DICE entornos destructibles en Battlefield Bad Company 2 y Battlefield 3? [cerrado]

30

¿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.

Ryan Stull
fuente
Video de referencia: youtube.com/watch?v=3lxjAVGcPCk&feature=related
deceleratedcaviar el
2
Hay 2 documentos sobre destrucción y deformación de Frostbite Engine en la sección de publicación en el sitio web de DICE. Uno está en la categoría Tesis y otro en la categoría Representación .
Quazi Irfan
44
Estoy votando para cerrar esta pregunta como fuera de tema porque pregunta cómo un editor específico crea una mecánica específica en un juego específico. Por lo general, no podemos decirle con certeza sin especulación, y como tal, estas preguntas están fuera de tema. En general, nos preguntaríamos cómo crear una mecánica así, nosotros mismos, pero creo que esta pregunta es demasiado antigua para proporcionar algún beneficio tangible al hacerlo.
Gnemlock

Respuestas:

27

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,

ingrese la descripción de la imagen aquí

Al destruir una parte de esta casa, comenzamos eliminando una pieza de la geometría

Al destruir una parte de esta casa, comienzan eliminando una pieza de la geometría.

ingrese la descripción de la imagen aquí Luego se agregaron detalles de mallas alrededor de la sección destruida.

ingrese la descripción de la imagen aquí

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)

Quazi Irfan
fuente
8
Bueno, las partículas se ven dramáticas, pero también permite que el intercambio de geometría se oculte del jugador por el humo y otras cosas.
AttackingHobo
8

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  \
     |   |
     | /-|-\
     | |C| |
---  ----- | ------- G
       |  B|
       \---/

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.

Ingeniero
fuente
1
Podría haber sido rechazado porque no estaba demasiado relacionado con la pregunta, ya que preguntaba sobre los métodos utilizados para un juego en particular. La tesis de Stegmayr fue escrita mientras se desarrollaba BF: BC2, por lo que los métodos y resultados logrados en ella probablemente han influido en el diseño del sistema de destrucción. Lamentablemente, no parece haber sobrevivido intacto en el juego en sí, lo que no es raro cuando se trata de nuevas técnicas en I + D. (Y no, no lo hice / no puedo hacerlo).
Lars Viklund