Как ребята из EA DICE создавали разрушительную среду в Battlefield Bad Company 2 и Battlefield 3?
Они просто собирали здания из заранее определенных субрегионов, которые распадаются, когда происходит взрыв или что-то подобное? Я не могу думать ни о чем другом.
Ответы:
Проще говоря, да, что они делают. Но идите на дополнительную длину, чтобы покрыть прямые края, используя маску разрушения . После удаления части геометрии, они добавляют детальную сетку вокруг разрушенного участка, чтобы он выглядел правдоподобно.
Вот как это работает,
Разрушая часть этого дома, они начинают с удаления части геометрии
Затем добавлены детали сетки вокруг разрушенного участка.
И последний шаг - добавить маску разрушения.
Они также используют эффекты частиц и сетчатого мусора для более драматичного вида.
(Вся ссылка взята из тех двух публикаций, которые я упомянул в комментарии)
источник
Это CSG - Constructive Solid Geometry (хотя в данном случае, строго говоря, она деструктивна), если вы хотите больше исследовать, как на самом деле работают алгоритмы.
Стандартный подход состоит в том, чтобы использовать две существующие сетки A & B (дом и вычтенный объем "взрыва"), чтобы создать третью "сетку" (график), где пересекаются плоскости и ребра сетки, C - которая описывает площадь они делят. В 2D:
A - дом, B - объем взрыва, C - область соединения / пересечения между A и B. G - земля.
Математика / логика, стоящая за ней, не тривиальна, так как есть много крайних случаев, с которыми приходится иметь дело, и половина или более этой задачи просто распознают, какой из возможных типов графов результатов являются особыми случаями, которые необходимо учитывать в коде. Я видел проблему, описанную ветеранами на gamedev.net, как «очень сложную проблему», и я могу сказать вам, пытаясь решить ее даже в 2D, и имея умеренную степень успеха, когда терпит неудачу только пара крайних случаев, что это не маленькая задача.
Более простой способ - использовать алгоритм разложения полигонов и использовать вместо него геометрию, которая создает основу для уничтожения вашей геометрии.
источник