Спочатку розглянемо покращену полігонову редукцію. Для порівняльного тесту нового генератора полігонової редукції з релізу 19 та старого дивізіонера полігонів з релізу 18 я використав високорозширений 3D-скан моделі шоколадного відливу від компанії Ганс Бруннер з точною кількістю 844302 полігонів або 422153 точок.
Для того щоб помітити точки у режимі відображення постійний тон (лінії), потрібно досить близько підійти до 3D-моделі.
Полігонова редукція за допомогою нового генератора полігонової редукції
Той, хто шукає полігонову редукцію в меню дивізіонерів, в релізі 19 Cinema 4D залишитиметься з порожньою долонею. Старий дивізіонер полігонів більше не існує, але все ще підтримується при відкритті старих файлів.
Нову полігонову редукцію виконано у вигляді генератора і можна знайти в меню Створити>Моделювання.
Щоб порівняти якість редукції обох полігонових відщепників, я зменшив кількість полігонів оранжевої моделі ведмежих з старим дивізіонером полігонів та кількість жовтої моделі ведмедя за допомогою нового генератора полігонової редукції на 95 % кожної наявної кількості полігонів.
Обидва полігонові відщепники мають слайдер як головний елемент, за допомогою якого можна налаштувати силу редукції. Новий генератор одразу показує результатуване значення трикутників, точок та ребер.
Для спеціально формованих 3D-об'єктів з краями можна зберегти 3D-контур та навіть вже існуючий вивід UV-поверхні з адаптацією суміжних полігонів.
Розгляньмо результати двох полігонових відщепників у режимі Тіні Горо, на якому вже видно перші відмінності. Сітка жовтого ведмедя виглядає більш плавною й високоякісною, оранжева модель ведмежих показує помітні проблеми у критичних місцях.
Відмінності стають особливо очевидними, коли ми розглядаємо полігонову мережу обох моделей ведмедів.
У той час як полігонова мережа оранжевого ведмедя виглядає дуже неоднорідно та хаотично, …
… мережа жовтого ведмедя має значно більш однаковий розмір полігонів та дуже однорідне розподілення полігонів.
Змінний рівень деталізації (LOD) з полігоновою редукцією
Один з варіантів використання нової полігонової редукції може бути, наприклад, створення різних рівнів деталізації моделі ведмедя та підключення їх у залежності від відстані від камери. Таким чином можна значно покращити продуктивність у 3D-іграх.
Для того щоб ця автоматична дія з'являння або зникнення версій об'єкту працювала автоматично, у Cinema 4D релізу 19 у варіантах Visualize та Studio є так званий LOD-об'єкт (об'єкт змінного рівня деталізації).
Чотири моделі ведмедів у нашому прикладі я створив за допомогою генератора полігонової редукції з різними редукціями та, нарешті, розклав через команду Меш>Перетворення>Переконвертувати активний стан у об'єкт у результуючий полігоновий об'єкт.
Редукції від 80 % для знімків зблизька до 99.9 %, коли камера дуже віддалена від моделі ведмедя. Щоб всі версії моделі ведмедя займали таке саме положення, координата X всіх чотирьох ведмедів встановлюється на 0.
Для того щоб використовувати чотири версії моделі ведмедя для змінного рівня деталізації, їх необхідно підпорядкувати LOD-об'єкту. Вибравши чотири об'єкти та викликавши LOD-об'єкт через панель об'єктів моделювання за утриманої клавіші Alt та Cmd, це зробиться одним проходженням.
У діалозі налаштувань LOD-об'єкта в Менеджері атрибутів на сторінці Об'єкта ми знайдемо чотири моделі ведмедів як рівні деталізації LOD. Для кожного з чотирьох рівнів можна встановити окремі опції відображення. Режим підоб'єктовий режим LOD вже вірний, оскільки для змінного LOD ми маємо працювати з підоб'єктами.
Тепер лишається тільки критерій, за допомогою якого LOD-об'єкт повинен вирішувати, який LOD-рівень використовувати для показу об'єкта. Оскільки модель ведмедів повинна орієнтуватися на відстань до камери, критерієм має бути відстань Камера.
Після вибору критерію, діалогове вікно налаштування об'єкта LOD в рядку LOD показує чотири кольорові області, по одній на кожен модель ведмедя. Наразі ці чотири діапазони віддалей рівні і розподіляються між мінімальною і максимальною відстанню камери, які вказані в попередньому рядку.
Роботу об'єкта LOD також можна перевірити у виді 3D. Якщо відстань камери знаходиться в діапазоні верхнього рівня, ведмідь відображається у найкращій якості, …
… як тільки відстань камери збільшується, об'єкт LOD переходить на наступний рівень, коли досягнуто наступний діапазон відстаней. Поточне значення розташування камери можна побачити на малюнку камери під рядком LOD.
Тестування точок перемикання у виді 3D дозволяє швидко виділити, чи перехід до наступного рівня відбувається занадто рано чи занадто пізно. У цьому випадку, ймовірно, ведмідь все ще має бути видно на більш роздільному рівні LOD.
Для налаштування точок перемикання треба просто взяти лінію між діапазонами віддалей і витягнути область за межі бажаного положення камери.
Зазвичай найнижчий якісний рівень LOD-версії використовуватиметься тільки тоді, коли об'єкт значно віддалений від заднього плану сцени.
Змінні рівні деталізації (LOD) з автоматичним спрощенням
Об'єкт LOD також має власну можливість зменшення або спрощення об'єктів. У цьому випадку не потрібно різних об'єктів як LOD-рівні. Достатньо одного підпорядкованого об'єкта та налаштування спрощення у діалоговому вікні налаштувань як режим LOD.
У відповідних опціях відображення рівнів LOD, об'єкт LOD пропонує не лише оригінальну, високороздільну версію (Повні об'єкти), а також декілька варіантів зменшення полігонів, таких як децимізація, конвексна оболонка, відображення обмежуючої паралелепіпеду чи навіть нульового об'єкта.
Не всі об'єкти підходять для децимізації, часто вони видаляються цілком.
Конвексна оболонка працює добре, але використовується переважно при великій віддалі від камери.
Не інакше із обмежуючою паралелепіпедією, яка стосується повністю розмірів 3D-об'єкта.
Крім функцій налаштування LOD-діапазонів та рівнів на сторінці об'єкту в діалоговому вікні, сторінка Опції пропонує додаткові можливості керування.
За допомогою опції Прогресивне можна зробити зміну між LOD-рівнями плавною, тримаючи інші LOD-рівні увімкненими. Опція Полігонізація об'єктів забезпечує роботу підоб'єктів, які включають деформатори, як об'єктів LOD-рівня.