Групи згладжування

Моделер у 3D Studio MAX, що особливо займається низько-полігональним моделюванням, повинен чітко уявляти, що таке групи згладжування (Smoothing Groups). Розуміння та використання груп згладжування – є великий крок новачка модельєра до професіонала.

Групи згладжування - це властивість, яку має кожен трикутник будь-якої полігональної моделі в 3D Studio MAX. Знайомство з групами згладжування найкраще провести з прикладу Editable Mesh.

Створіть будь-який примітив, наприклад, Box, та перетворіть його на Editable Mesh. У закладці Modify виберіть будь-який подібний об'єкт поверхні (Face, Polygon або Element), наприклад, Face. При цьому до сувої додасться додаткова панель властивостей поверхні (Surface Properties). Тут нас цікавить розділ, що називається Smoothing Groups. Цей розділ таки працює з групами згладжування.

За допомогою кнопок з числами від 1 до 32 ми можемо будувати різні комбінації групи згладжування для виділених трикутників редагованої полігональної моделі.

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

Чому саме з 32 значень будуються групи згладжування в 3D Studio MAX?

Відповідь проста. Для зберігання інформації про один збіг групи згладжування достатньо одного біта. Для комбінації таких збігів використовується одне 32-бітове число (DWORD). Кнопка на панелі, наприклад, з номером 18 відповідає за 18 біт цього числа. Більше жодних ритуальних міркувань із цього приводу не існує.

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

У чому сенс груп згладжування?

Розглянемо зображення трьох сфер. Ці сфери відрізняються лише групами згладжування для своїх трикутників, решта, наприклад, матеріал і кількість полігонів, у них однакова. Як можна досягти такого ефекту?

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

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

Іноді для моделера виникає завдання, як зробити видимий поділ між частинами полігональної моделі на їх стику, тобто по ребрах. Модель на малюнку є однією цілісною замкненою полігональною моделлю. Усі видимі поділу на подобъекты зроблено рахунок геометрії і груп згладжування.

Робота з групами згладжування.

З кнопками з числами у розділі Smoothing Groups трохи розібралися. Можна додати тільки, що якщо ви виділяєте кілька полігонів, в одних з яких проставлені біти в групах, а в інших відповідні біти не проставлені, кнопки з цими бітами будуть порожніми, без чисел.

Кнопка Select By SGдозволяє виділяти всі трикутники, із зазначеними бітами груп згладжування.

Кнопка Clear All вимикає всі біти груп згладжування виділених трикутників.

Кнопка Auto Smooth працює з числом, що виставляється праворуч від кнопки. Це число показує відхилення нормалей трикутників у градусах. При натисканні на цю кнопку всі виділені трикутники, у яких відхилення нормалей менше зазначеного числа, стануть "згладженими", за рахунок виставлення відповідних груп згладжування.

Де ще зустрічаються групи згладжування.

Модифікатор Edit Mesh. Аналогічно EditableMesh.

Модифікатор MeshSmooth У свитку Parameters є розділ Surface Parameters.

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

Працює для виділених трикутників із попередніх рівнів модифікаторів. Тобто ці трикутники можуть бути виділені, наприклад, модифікатор Edit Mesh або модифікатором Mesh Select. Що робить цей модифікатор, можна зрозуміти за аналогією з EditableMesh.

Що можна додати для розробників ігор.

Досягти аналогічного ефекту згладжування можна в інший спосіб, коли всі трикутники мають однакову групу згладжування. Видимість кордонів досягається шляхом дублювання точок. Тобто два сусідні трикутники не мають спільних точок, просто відповідні точки мають однакові координати. До речі, саметакі дубльовані точки повинні потрапляти в ігровий двигун, розрізняючись лише своїми нормалями. Але оскільки моделлерові незручно самому розділяти ці точки, цим має займатися програма експорту з 3D Studio MAX, використовуючи дані з груп згладжування.

Насамкінець, усім бажаю успішного низько-полігонального моделювання!