LOD в сучасних іграх [закрито]


14

Зараз я працюю над магістерською дисертацією про LOD та спрощення сітки, і я читав багато наукових праць та статей з цього приводу. Однак я не можу знайти достатньо інформації про те, як LOD використовується в сучасних іграх. Я знаю, що багато ігор використовують якийсь динамічний LOD для рельєфу місцевості, а як бути деінде?

Рівень деталізації для 3D-графіки, наприклад, вказує на те, що дискретний LOD (де художники готують кілька моделей заздалегідь) широко застосовується через ефективність безперервного LOD. Однак ця книга була опублікована у 2002 році, і мені цікаво, чи зараз інакше. Були проведені деякі дослідження щодо виконання динамічного LOD з використанням шейдера геометрії ( наприклад, цей документ із його реалізацією в ShaderX6), чи вдасться це використовувати в сучасній грі?

Підводячи підсумок, моє запитання стосується стану ЛОД у сучасних відеоіграх, які алгоритми використовуються та чому? Зокрема, чи застосовується постійне спрощення залежно від перегляду чи робить накладні витрати на виконання дискретних моделей із належним змішуванням та самозванниками більш привабливим рішенням? Якщо використовуються дискретні моделі, чи використовується алгоритм (наприклад, кластеризація вершин ) для їх генерування в режимі офлайн, чи художники створюють моделі вручну, чи, можливо, використовується комбінація обох методів?


Я б запропонував додати тег "візуалізація", оскільки вас суто цікавить графічний LOD, тоді як LOD також можна застосувати до фізики, AI та будь-якої іншої області, де важливість може бути зменшена на основі відстані до чогось або продуктивності.
Кай

@Kaj: Добре. Я, зокрема, говорю про спрощення полігональної сітки.
Фірас Ассаад

О, схоже, ми редагували одночасно (я забув, що можу додати теги, сміливо видаляйте графічне програмування: o \). Я спробую пізніше придумати відповідь - я сьогодні в хрусті.
Кай

Відповіді:


9

Наразі здається, що дискретний LOD все ще є кращим, але залишається зрозуміти, чи зміниться це з наступним поколінням консольного обладнання.

Для чого це варто, Том Форсайт багато писав про безперервний LOD, який він називає "прогресивним зв'язком". Ігрове програмування Gems 2 має на увазі одну з цих статей, але вона, схоже, відображена тут .

Я вважаю, що одна з ігор Тома постачається з використанням прогресивних мереж на апараті консолі останнього покоління. Я не думаю, що це обчислення людей, які переживають над головою, що турбуються з постійним LOD. Я думаю, що більше, ніж дискретний ЛОД легше. Безперервний LOD робить важче підйом в трубопроводі інструментів і не має достатньо явних переваг.

Що стосується генерації дискретних LOD, ми використовуємо комбінацію автоматичних інструментів та створення виконавців. DirectX SDK поставляється з деякими матеріалами для автоматичного зменшення геометрії, і я вважаю, що ми використовуємо це як перший прохід, якщо якість недостатньо хороша, то художники генерують дискретні LOD вручну або використовуючи додаткові інструменти в Майї.


1
Я думаю, що Месія широко використовував прогресивні зв'язки, здається, що еони тому світ був з цього приводу непристойний. Але я згоден, статичний лод все ще здається поширеним там, де я дивлюся. Важко алгоритмічно визначити, яка деталь є важливою для збереження, хоча про це було написано багато матеріалів SigGraph, наскільки я впевнений, що ОП знає. Як осторонь, милий метод, який я завжди пам’ятав, - це глава «справжнього самозванця» в одному з дорогоцінних каменів програмування ігор, на який я вірю ... там, де вони використовують саморобців із картою паралаксальної оклюзії. Я знаю, що я бачив більше робіт, написаних за тією ж методологією (можливо, Фабіо Полікарпо?)
Кай

1
Ще один удар проти безперервного LOD - це фіксований об'єм пам'яті, наявний у консольному середовищі. Дискретні об’єкти дозволяють вам викинути моделі високої роздільної здатності та всі їх залежні текстури / шейдери та поміняти на значно нижчу модель з простим шейдером та попередньо комбінованою меншою текстурою. У відкритих світових заголовках боротьба за те, що заповнює дані, обмежена доступна пам'ять часто є більшою боротьбою, ніж цикли CPU / GPU.
wkerslake

6
  • Верховний Головнокомандувач (1 та 2) - цей РТС пишається тим, що ви можете плавно зменшити масштаб до кінця, щоб побачити карту поля бою, а потім наблизити масштаб до району та керувати ним. Він дуже добре використовує LOD, коли ви збільшуєте та зменшуєте масштаб, щоб не перевантажувати відеокарту, а на певному рівні зменшення сітки замінюються двовимірними зображеннями того, яким типом вони є, так що карта поля бою може чітко бачити покажіть, де знаходяться речі (оскільки очевидно, що 3D-сітка з низькою деталізацією на 20 000 футів не відрізнятиметься). Ефект заміни 2D ви можете чітко побачити протягом перших секунд цього відео .
  • RollerCoaster Tycoon 3 - подібно до Верховного командуючого, ця гра дозволяє вам збільшувати та зменшувати за бажанням, переглядаючи весь тематичний парк або керуючи одним узбережжям. Він не використовує 2D-заміну зображення, але завдяки LOD все залишається гладким; Не тільки великі сітки зменшують якість, але й дрібні деталі, як, наприклад, люди, які ходять навколо, зникають, коли ви зменшуєте масштаб досить далеко.
  • Легенда про Зельду: Вітер Waker - під час плавання відкритим морем ви можете озирнутися і побачити найближчі вам острови; проте вони лише силуети островів, а фактичні тривимірні моделі не завантажуються, поки ви не наблизитесь до острова. Інші особливості навантаження на острів також, такі як вороги та тайфуни у прилеглих водах; на жаль, гравець може побачити, як вони "спливають", коли він наближається, але в цілому це хороша техніка, яка запобігає перевантаженню апаратними засобами Nintendo GameCube, одночасно надаючи гравцеві досить точне відчуття плавання морями та можливість розрізнити визначні острови в відстань.
  • Elder Scrolls IV: Oblivion - Я давно не грав у цю гру, але знаю, що вона використовує або силуети, або справді моделі з низькою деталізацією для віддалених споруд, таких як висока башта одного з міст та далекі гори .

LOD використовується не лише для рельєфу місцевості, але й для силуетів далеких споруд та для зору орлиних очей стратегічних / імітаційних ігор. Я не знаю деталей алгоритмів, і, мабуть, це головна частина вашого запитання, але я хотів навести кілька прикладів стану LOD у сучасних відеоіграх.


4

Один із сучасних підходів до безперервного LOD - це апаратне забезпечення. Технічна комплектація обладнання була реалізована в DirectX 11 і по суті забезпечує програмоване підрозділ поверхонь. Оскільки це реалізовано на графічному процесорі, це дозволяє набагато більш детально, ніж це надає тесселяція, породжена процесором. Підрозділяючи поверхні, виходячи з відстані огляду, наприклад, ви можете надати форму безперервного LOD.

Тесселяція апаратних засобів - це зовсім нова особливість графічних процесорів, і існує не так багато ігор, які використовують її. Я підозрюю, що ігри, які використовують його здебільшого як надбудову для відображення ударів - замість того, щоб збігати карту в піксельному шейдері, ви можете змінювати фактичну геометрію. Напевно, є багато місця для подальших досліджень спрощення та вдосконалення сітки за допомогою апаратної tessellation.

Ще кілька ресурсів:


На сьогоднішній день я вважаю це швидше витримною технологією, ніж практичною, оскільки ви насправді виключаєте величезну кількість цільової аудиторії. Але так, процедурні процедури можуть бути дорогою в якійсь формі або формі, просто не впевнені, що це поточна реалізація MS. Час покаже.
Кай

4

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

http://codesuppository.blogspot.com/2009/11/convex-decomposition-library-now.html


3

LOD збирається тримати постійну кількість обробки. Ієрархічний рівень деталізації - це єдиний спосіб зробити це для сцен, що мають значну деталізацію. Якщо ви досить близькі до об'єкта, він розкладається на кілька об'єктів. Цей рекурсивний LOD забезпечує не тільки простий механізм обробки точок переходу для перемикання на нових рівнях деталізації, але також дозволяє кількість викликів візуалізації залишатися приблизно однаковою незалежно від того, наскільки далеко / поблизу ви дістаєтесь до ваших світових об'єктів.

Це все дуже добре, що ви маєте чудові LOD для ваших сіток і текстур, але, принаймні, в одній грі, яку я поставляв на PS2, спосіб заощадити час - це просто з’єднати всю листя в секторах за один розіграш. Цей більший розіграш вимагав майже на 90% менше часу, ніж надання всіх варіантів низької лоди, навіть якщо ретельно впорядковані переходи матеріалів та пакетне представлення кожного типу сітки. Отже, ставіться до ЛОД уважно. Йдеться не лише про окремі об’єкти. Йдеться про всю фазу візуалізації.


1

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

Багато сучасних проектів починають використовувати процедурну генерацію місцевості в режимі реального часу для створення масивних просторів місцевості (Outerra, Infinity (INovae), щоб назвати деяких найвизначніших). Дискретний LOD просто не є можливим через процедурний характер сіток.

Ці місцевості часто використовують герархічні структури перегородок, такі як квадри, для визначення LOD та створюють сітку відповідної роздільної здатності на основі глибини вузла дерева.

Без використання континуусів LOD ці приголомшливі проекти були б просто неможливими.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.