Como o EA DICE criou ambientes destrutíveis no Battlefield Bad Company 2 e no Battlefield 3? [fechadas]

30

Como o pessoal da EA DICE criou ambientes destrutíveis em Battlefield Bad Company 2 e Battlefield 3?

Eles acabaram de montar os prédios a partir de sub-regiões predefinidas, que se separam quando há uma explosão ou algo semelhante? Não consigo pensar em mais nada.

Ryan Stull
fonte
Vídeo Referência: youtube.com/watch?v=3lxjAVGcPCk&feature=related
deceleratedcaviar
2
Existem 2 documentos sobre destruição e deformação do Frostbite Engine na seção de publicação no site da DICE. Um está na categoria Tese e outro na categoria Renderização .
Quazi Irfan
4
Estou votando para encerrar esta questão como fora de tópico, porque ela pergunta como um editor específico cria uma mecânica específica em um jogo específico. Normalmente, não podemos lhe dizer com certeza sem especulação e, como tal, essas perguntas são fora de tópico. Geralmente, perguntaríamos como criar esse mecânico, nós mesmos, mas acho que essa pergunta é antiga para fornecer qualquer benefício tangível com isso.
Gnemlock

Respostas:

27

Para simplificar, sim, o que eles fazem. Mas vá um comprimento extra para encobrir as bordas retas usando a máscara de destruição . Depois de remover a parte da geometria, eles adicionam uma malha detalhada ao redor da seção destruída para torná-la crível.

Aqui está como isso funciona,

insira a descrição da imagem aqui

Ao destruir uma parte desta casa, começamos removendo um pedaço da geometria

Ao destruir uma parte desta casa, eles começam removendo um pedaço da geometria

insira a descrição da imagem aqui Em seguida, foram adicionadas malhas de detalhes ao redor da seção destruída.

insira a descrição da imagem aqui

E o passo final é adicionar a máscara de destruição.

Eles também usam efeitos de partículas e detritos de malha para uma aparência mais dramática.

(Toda a referência é retirada dessas 2 publicações que mencionei no comentário)

Quazi Irfan
fonte
8
Bem, as partículas parecem dramáticas, mas também permitem que a troca de geometria seja escondida do player por fumaça e outros enfeites.
AttackingHobo
8

Isso é CSG - Construct Solid Geometry (embora, neste caso, seja destrutivo, a rigor), se você quiser fazer mais pesquisas sobre como os algoritmos realmente funcionam.

A abordagem padrão é usar as duas malhas A e B existentes (a casa e o volume subtraído de "explosão") para gerar uma terceira "malha" (gráfico) onde as duas malhas se cruzam nos planos e arestas, C - que descreve a área eles compartilham. Em 2D:

      / \
     /   \
    /  A  \
     |   |
     | /-|-\
     | |C| |
---  ----- | ------- G
       |  B|
       \---/

A é a casa, B é o volume de explosão, C é a área de união / interseção entre A e B. G é o solo.

A matemática / lógica por trás disso não é trivial, pois há muitos casos extremos para lidar e metade ou mais dessa tarefa é apenas reconhecer quais dos possíveis tipos de gráficos de resultados são casos especiais que precisam ser atendidos no código. Eu já vi o problema descrito pelos veteranos no gamedev.net como "um problema muito difícil" e posso dizer que você tentou em 2D, mesmo, e teve um grau moderado de sucesso, onde apenas alguns casos extremos falham, que não é uma tarefa pequena.

Uma maneira que pode ser mais fácil é usar um algoritmo de decomposição de polígonos e usar a geometria criada como base para a destruição da geometria.

Engenheiro
fonte
1
Isso pode ter sido diminuído porque não estava muito relacionado à pergunta, pois perguntou sobre os métodos usados ​​para um jogo em particular. A tese de Stegmayr foi escrita enquanto o BF: BC2 foi desenvolvido - portanto, os métodos e resultados alcançados nele provavelmente influenciaram o design do sistema de destruição. Infelizmente, ele não parece ter sobrevivido intacto ao jogo, o que não é incomum quando se trata de novas técnicas de P&D. (E não, eu não / não pode fazê-lo.)
Lars Viklund