Blender 3d - зменшення полігонів модифікатором «decimate»

Бувають ситуації, коли необхідно зменшити кількість полігонів у високополігональні моделі зі збереженням розгортки і хорошою полігональної сіткою. Особливо це актуально у випадках 3D моделей відсканованих для 3D принтерів, в яких часом кілька мільйонів полігонів і сітка досить крива, що не призначена для редагування полігональним моделюванням.
1. Підготовка сцени
Розміщуємо модель в сцену. В даному випадку це високополігональні 3D модель голови Сюзанни, що складається из 31 488 полігонів. На моделі присутня розгортка і накладена текстура.

Тепер додамо модифікатор «Decimate»: «Properties» => «Modifiers» => «Add Modifier» => «Generate» => «Decimate».

Після цього відкриються параметри модифікатора, в яких будуть три опції:
- «Collapse» (Руйнування) - це відсоткове зменшення полігонів;
- «Un-Subdivide» (зворотне підрозділ) - це зменшення полігонів через скорочення ітерацій згладжування;
- «Planar» (Площинне) - це зменшення полігонів через встановлення параметрів кутів.
2. Процентне зменшення полігонів
Перша опція «Collapse» (Руйнування) дозволяє зменшити кількість полігонів, задавши їх у відсотках в шкалі «Ratio» (Співвідношення).
За замовчуванням значення «Ratio» задано 1, тобто дорівнює 100%. Отже, щоб зменшити кількість полігонів на 90%, в шкалі «Ratio» потрібно виставити значення 0,1, якщо на 99%, то рівне 0,01. Внизу навпроти напису «Face» автоматично буде вказано кількість полігонів в разі застосування модифікатора.
До певного значення процентного співвідношення розгортка на моделі буде зберігатися. Це багато в чому залежить від рівності полігональної сітки. В даному випадку розгортка збережуться при скороченні полігонів в два рази, тобто на 50%. При зменшенні полігонів на 90% відбувається вже спотворення розгортки.

Як бачимо, даний спосіб підійде в тих випадках, коли необхідно зменшити кількість полігонів приблизно наполовину. При значному зменшенні полігонів досить погано зберігається розгортка, а отриману полигональную сітку досить важко редагувати.
Так само даними способом є можливість зменшити кількість полігонів тільки на певній частині розгортки. Для цього необхідно на обрану частину раверткі призначити групу вершин, а потім вибрати її в модификаторе «Decimate» в розділі «Collapse» через «Vertex group name».

Нижче ви можете встановити галочку навпроти напису «Triangulate» (Тріангуліровать), тобто після застосування модифікатора полигональная сітка буде розбита на трикутники. А активація галочкою «Symmetry» (Симетрія) дозволяє зменшити полігони симетрично по обраної осі.
3. Зменшення полігонів через зворотне підрозділ поверхні
Так ось, функція «Un-Subdivide» (зворотне підрозділ) в модификаторе «Decimate» виконує зворотну дію, тобто зменшує кількість полігонів на задане число ітерацій. В даному випадку застосовано чотири ітерації.

Як бачимо, текстура на моделі «попливла», але зате геометрія вийшла досить рівна. Що дозволяє даній моделі зробити розгортку, а потім «запекти» текстури з початкового варіанта. Функція «Un-Subdivide» в модификаторе «Decimate», це свого роду швидка ретопологія з досить пристойною геометрією в результаті.
3. Зменшення полігонів кутовою межею
Третя функція даного модифікатора «Planar» дозволяє зменшити кількість полігонів через «Angle Limit» (Кутовий межа).
Внизу можна вибрати параметри, які потрібно зберегти при зменшенні числа полігонів. В крайньому правому куті можна вибрати «UVs», тобто зменшити число полігонів зі збереженням кордонів розгортки. Галочкою можна активувати «All Boundaries», тобто все кордону.

В даному способі рівність полігональної сітки необхідно регулювати параметром значення кута. Як бачимо, розгортка в даному випадку залишається рівною.
Таким чином, якщо необхідно швидко зменшити кількість полігонів моделі і при цьому отримати хорошу геометрію і розгортку, то оптимальним рішенням буде використання функції «Un-Subdivide» (Антіподразделеніе). Так як полігони в цьому випадку будуть чотирикутними, що дозволить зробити моделі розгортку. Потім залишиться тільки зробити запікання текстур.