Як EA DICE створив руйнівні середовища в Battlefield Bad Company 2 та Battlefield 3? [зачинено]


30

Як люди на EA DICE створили руйнівні середовища в Battlefield Bad Company 2 та Battlefield 3?

Вони просто збирали будівлі із заздалегідь визначених підрегіонів, які розпадаються, коли відбувається вибух чи щось подібне? Я не можу придумати нічого іншого.



2
У розділі публікацій на веб-сайті DICE розміщено 2 документи про руйнування та деформацію двигуна обмороження . Один під категорією дипломної роботи, а інший - під категорією Надання .
Quazi Irfan

4
Я голосую за те, щоб закрити це питання поза темою, оскільки він запитує, як конкретний видавець створює конкретного механіка в конкретній грі. Зазвичай ми не можемо сказати вам точно без домислів, і як такі ці питання поза темою. Взагалі, ми б запитали, як створити такого механіка самостійно, але я вважаю, що це питання старе, щоб надати будь-яку відчутну користь від цього.
Gnemlock

Відповіді:


27

Простіше кажучи, так, що вони роблять. Але пройдіть додаткову довжину, щоб прикрити прямі краї за допомогою маски руйнування . Вилучивши частину геометрії, вони додають детальну сітку навколо зруйнованої секції, щоб вона виглядала правдоподібно.

Ось як це працює,

введіть тут опис зображення

Руйнуючи частину цього будинку, ми починаємо з видалення шматочка геометрії

Руйнуючи частину цього будинку, вони починають з видалення шматочка геометрії

введіть тут опис зображення Потім додані деталі сітки навколо зруйнованого розділу.

введіть тут опис зображення

І останній крок - додати маску знищення.

Вони також використовують ефекти частинок і сітчасті сміття для більш драматичного вигляду.

(Всі посилання взяті з тих 2-х публікацій, про які я згадав у коментарі)


8
Добре виглядають, що частинки виглядають драматично, але це також дозволяє сховати геометрію від гравця за допомогою диму і чогось іншого.
AttackingHobo

8

Це CSG - конструктивна суцільна геометрія (хоча в цьому випадку це руйнівно, строго кажучи), якщо ви хочете зробити більше досліджень щодо того, як алгоритми насправді працюють.

Стандартний підхід полягає у використанні двох існуючих сіток A&B (будинок та віднятий "вибуховий" об'єм) для створення третьої "сітки" (графіка), де дві площини сітки та ребра перетинаються, C - що описує область вони діляться. У 2D:

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

A - будинок, B - об'єм вибуху, C - зона з'єднання / перетину між A і B. G - земля.

Математика / логіка, що стоїть за нею, не є тривіальною, оскільки існує багато крайніх випадків, з якими можна вирішити, і половина або більше цього завдання - це просто визнання, який із можливих типів графіків результатів є спеціальними випадками, на які потрібно звернути увагу в коді. Я бачив проблему, яку описували ветерани на gamedev.net як "дуже важку проблему", і я можу вам сказати, що ви намагаєтеся навіть у 2D, і навіть з помірним ступенем успіху, коли лише пару крайових випадків не вдалося, що це не маленьке завдання.

Простішим способом може бути використання алгоритму розкладання багатокутника та використання геометрії, яка створюється як основа для руйнування геометрії.


1
Можливо, це було б заперечено, оскільки воно не було надмірно пов'язане з питанням, оскільки воно запитувало про методи, які використовуються для певної гри. Теза Стегмайра була написана в той час, як BF: BC2 розроблявся - тому досягнуті в ній методи та результати, ймовірно, вплинули на розробку системи руйнування. На жаль, це, здається, не збереглося неушкодженим у самій грі, що не є рідкістю, коли мова йде про нові методи в науково-дослідних розробках. (І ні, я цього не робив / не можу.)
Ларс Віклунд
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.