Экономика стран

К сожалению, большинство людей, которые будут ими затронуты почти весь мир, не будут иметь никакого влияния на результат. Вести Экономика Дайджест иностранной прессы за 14 августа.
Вести Экономика Греции снова придется списывать долги Греция не сможет самостоятельно расплатиться по долгам, и понадобится новая реструктуризация долгов, чтобы спасти страну от банкротства.

Brainy Studio - ми створюємо гри! - Методи оптимізації високополігональні 3D моделей

Written by Evgeniy Romin.

Стаття підготовлена ​​спеціально для конференції Innotech - http://conference.msa.pstu.ru/

Автори: Бояршинов Олександр і Ромин Євген.

На сучасному етапі розвитку 3D редакторів і засобів моделювання стало досить легко створювати деталізовані 3D моделі для використання в різних додатках працюють з тривимірною графікою. Особливо активно високо деталізовані моделі використовуються у виробництві спецефектів для кінофільмів або в іграх. Однак при спробі використовувати ці моделі в інтерактивних додатках для мобільних пристроїв, симуляторах і ГІС виникають проблеми. Основні перешкоди полягають в необхідності виділення великого обсягу обчислювальних ресурсів, складності обробки об'єктів. Також наявність великого числа полігонів в сцені або в моделі обмежує можливість запуску програми на пристроях з низькою обчислювальною потужністю. Таким чином існує проблема вимагає оптимізації вже готових тривимірних деталізованих моделей для використання в додатках на пристроях з низькою обчислювальною потужністю.

Метою цієї статті є огляд декількох методів оптимізації високо деталізованих 3D моделей і застосування їх на практиці, в рамках роботи над студентським проектом WitchCraft.

Алгоритми видалення невидимих граней і ліній. Виділяють три класи таких алгоритмів [1]:

  • Алгоритми, що працюють в просторі екрану. Вони засновані на розрахунку попадання граней в зону видимості спостерігача з певної точки.
  • Алгоритми, що працюють безпосередньо в просторі об'єктів (сцени). Найчастіше в моделях існують межі, які розташовуються усередині об'єкта, або на зворотному боці прихованої від спостерігача. Для обчислення видимих ​​поверхонь використовується порівняння та розрахунок розташування всіх об'єктів знаходяться в сцені і видалення всіх невидимих ​​граней.
  • Алгоритми, зі списком пріоритетів. Є гібридною модифікацією перших двох і працюють використовуючи обидва алгоритму поперемінно.

Є гібридною модифікацією перших двох і працюють використовуючи обидва алгоритму поперемінно

Мал. 1 Приклад використання алгоритмів видалення граней невидимих для користувача в звичайному режимі

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

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

Більшість 3D редакторів мають можливість задавати інтенсивність редукції, що дозволяє вибрати потрібне співвідношення між рівнем опрацювання моделі і економією обчислювальної потужності

Мал. 2 Метод редукції полігонів на прикладі персонажа і вибір оптимальної конфігурації.

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

Алгоритми ручного створення нізкополігональних моделей. Нізкополігональних (low-poly) моделі використовуються коли не потрібна висока деталізація, якщо прийнятну якість зображення можна отримати, за допомогою опрацьованих текстур, карт нормалей і інших візуальних ефектів. Найчастіше такі моделі використовуються для економії обчислювальних ресурсів в 3D додатках, де є необхідність відображення моделей і анімації в режимі реального часу [2].

При створенні нізкополігональних моделей слід прагне за мінімально можливу кількість вершин і ребер створити модель об'єкта достатньо схожу на реальний прототип. Існує кілька способів створення візуального представлення тривимірного об'єкту з мінімальними втратами якості [3]:

  • Завдання оптимальної кількості полігонів (достатня для збереження форми об'єкта, але не зайве). Слід враховувати область застосування моделі та доступні ресурси обчислювальної техніки.

    Мал. 3 Приклади завдання примітиву різними кількостями полігонів.

  • Злиття сусідніх близьких вершин. У ряді випадків модель може мати кілька вершин зосереджених на малій відстані один від одного або знаходяться на одній прямій. Найоптимальнішим рішенням в даному випадку буде об'єднання всіх вершин в одну, що зменшить кількість не функціональних полігонів.
  • "Закруглення" шляхом зниження кількості граней на сторонах циліндричних об'єктів. Деякі сцени з використанням таких об'єктів не мають на увазі необхідність високої деталізації самої поверхні циліндра. Саме в таких випадках слід застосовувати скругление так як візуальне сприйняття циліндра слабо залежить від його граней.

    Мал. 4 Приклади використання методів «Злиття вершин» і «Заокруглення».

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

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

Мал. 5 Демонстрація відмінності сфер з трикутних і чотирикутних полігонів

До переваг ручного створення нізкополігональних моделей відносять дуже висока фінальне якість і мінімальна кількість полігонів. Ключовими недоліками є висока трудомісткість і дуже низька швидкість моделювання.

Мал. 6 Порівняння високополігональні моделі гуртки (246 граней) і нізкополігональних (50 граней).

Для того щоб оцінити ефективність оптимізації високо деталізованих 3D моделей була створена сцена з різних типів об'єктів, до яких були застосовані описані вище методи і алгоритми.

Для того щоб оцінити ефективність оптимізації високо деталізованих 3D моделей була створена сцена з різних типів об'єктів, до яких були застосовані описані вище методи і алгоритми

Рис.7 Оптимізована сцена для запуску на пристроях з низькою кількістю обчислювальних ресурсів.

Наприклад, до будівель був застосований алгоритм видалення невидимих ​​граней і ліній, для оптимізації персонажів використовувався алгоритм редукції полігонів, а предмети інтер'єру були заново змодельовані з використанням технік створення нізкополігональних об'єктів. Таким чином вдалося добитися значного зменшення кількості полігонів в сцені, що наочно показано в таблиці №1.

Тести і оцінки продуктивності проводилися на базі Unity 3D - мультиплатформенні інструменті для розробки двох-і тривимірних додатків. В кінцевому підсумку скорочення числа полігонів з 21292 іаввишки до 6050 дало значний приріст продуктивності і зменшенні навантаження на центральний і графічний процесор пристрою.

Мал. 8 Графік навантаження на центральний і графічний процесор до і після оптимізації

висновок

В результаті використання методів оптимізації описаних в статті високополігональні сцена була перетворена в низько деталізовану. Кінцевим результатом маніпуляцій стало зменшення навантаження центрального і графічного процесора на 28% і 42% відповідно. Це дало можливість запуску сцени на мобільному пристрої з обмеженими обчислювальними ресурсами, що свідчить про ефективність даних методів і перспективи розвитку напрямку в цілому.
Список літератури

  1. «Алгоритми видалення невидимих ​​ліній і поверхонь» http://www.astro.tsu.ru/KGaG/text/5_6.html
  2. «Low-poly models / Поняття низько-полігональних моделей» http://www.gamedev.ru/art/terms/lowpoly
  3. «Low Poly Tricks, Tips & Techniques» http://www.loonygames.com/content/1.6/totb/index5.php

Навигация сайта
Реклама
Панель управления
Календарь новостей
Популярные новости
Информация
Экономика стран www.mp3area.ru © 2005-2016
При копировании материала, ссылка на сайт обязательна.