Інструмент Морф – безмежні можливості моделювання

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

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

Створимо у вікні Плану поверху за допомогою ламаних лінійних морфів напис.

Зверніть увагу, що ми можемо створити кожну букву відразу замкненим контуром або використовувати кілька морфів для кожного контуру. Щоб побачити різницю, створимо першу та останню літери безперервними морфами, а контури двох літер, розташованих по центру, складемо з кількох морфів, і після цього перейдемо у 3D-вікно.

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

Виберемо та об'єднаємо морфи, що утворюють окремо кожну з літер, що не мають граней за допомогою команди Об'єднати, що знаходиться в розділі контекстного меню Логічні операції. Тепер додамо у вибірку всі морфи, що є, і скористаємося командою Конструювання → Змінити морф → Скруглити і об'єднати ребра.

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

За допомогою команди Конструювання → Змінити морф → Покрити гранями, створимо грані з чіткими ребрами для двох середніх букв. Тепер необхідно видалити зайві грані, присутні у останніх трьохлітери. Для букв, покритих контурами, це не викличе жодних проблем - достатньо клацнути лівою клавішею миші на потрібних гранях при натиснутій комбінації клавіш SHIFT + CTRL і натиснути DELETE. Для додавання в вибірку останньої літери, в якій є три грані і дві з них знаходяться в одній площині з гранню, утвореною зовнішнім контуром, створити отвори, таким чином не вдасться. Найпростіше, що ми можемо зробити в даному випадку - це видалити всі межі в останній літері, зберігши при цьому ребра (тут нам знову треба буде скористатися курсором вибору поделементного рівня), а потім повторити зроблені операції, використані при роботі з двома середніми літерами ( об'єднати ребра, покрити їх гранями та видалити непотрібні грані для створення отворів).

Тепер зробимо наш напис об'ємним. Для цього виберемо всі грані, і клацніть лівою кнопкою миші на будь-який з них. У локальній панелі, що відкрилася, виберемо команду Видавлювання/Витягування. При бажанні ми можемо заокруглити ребра букв за допомогою вже відомої нам команди локальної панелі Заокруглення ребер.

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

Створимо квадратний морф розмірами 1000×1000, що лежить у горизонтальній площині. Потім виберемо його грань і клацнемо на ньому лівою кнопкою миші. У Локальній панелі, що відкрилася, виберемо команду Видавлювання по шляху. Спочатку перемістимо покажчик миші вгору, і, натиснувши клавішу TAB, введемо в Панель стеження значення 3000, потім перемістимо курсор убік, та був натиснемо клавішу SHIFT для прив'язки до горизонтальної осі, знову натиснувши клавішу TAB, введемо значення 50. морфа, перемістимо мишу вниз і, натиснувши клавішу SHIFT для активації рейсшини, вкажемобудь-яку початкову точку морфа. Для підтвердження завершення побудови зробимо в кінцевій точці шляху видавлювання подвійне клацання лівою клавішею миші.

Тепер, натиснувши та утримуючи клавіші SHIFT + CTRL, вкажемо курсором область вибірки, як показано на ілюстрації. У разі нижні грані морфу виявилися не обраними. Скористаємося командою Конструювання→ Змінити морф → Згладити та об'єднати грані. У діалоговому вікні, що відкрилося, виберемо варіант Згладити межі і встановимо повзунок ступеня згладжування в середнє положення.

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

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

Як бачимо, тепер межі поделементів морфу, які не потрапили у вибірку, збереглися.

Щоб краще зрозуміти логіку роботи функції згладжування граней, розглянемо таку ілюстрацію.

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

Операція згладжування та об'єднання граней заснована навзаємодії центральних точок суміжних граней.

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

Працюючи з морфами доступні два типи геометричних операцій:

  • логічні операції, що з'явилися в ArchiCAD 16;
  • операції твердотільного моделювання чи операції з об'ємними елементами.

Розглянемо поведінку морфів обох випадках.

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

Першому морфу розмірами 1000×1000×1000 привласним непрозоре покриття, наприклад, Фарба 12. Для другого морфу розмірами 2000×1500×2000 як покриття призначимо прозоре скло. Розмістимо морфи таким чином, щоб вони перетинали один одного. Нам потрібно три пари таких елементів, тому скористаємося командою багаторазового переміщення копії, що активується натисканням клавіш CTRL + ALT або командою тиражування (CTRL + U).

Виберемо першу пару елементів та скористаємося командою Конструювання → Змінити морф → Об'єднати. Крім того, ми можемо скористатися контекстним меню, вибравши в ньому команду Об'єднати, яка знаходиться в розділі Логічні операції. В результаті цієї операції два морфи були об'єднані в один, причому непотрібні дублікати граней, що взаємоперетинаються, були видалені, а на місці перетину були створені нові ребра. Зверніть увагу, що ця операція може бути застосована і до нетвердотільних морфів.

Виберемо наступну пару елементів, і скористаємося командою Конструювання → Змінити морф → Відняти. Ця ж команда знаходиться і в контекстному меню, яке викликається правою кнопкою миші. Зовні ефект цієї операції дуже нагадує однойменну операцію над об'ємними елементами. При наведенні курсору на елемент, який має залишитися, виділяється синімкольором. Елемент оператора при виконанні цієї операції видаляється, а новостворені грані цільового елемента успадковують покриття оператора.

Зверніть увагу: для виконання цієї операції як елемент-оператор обов'язково повинен виступати твердотільний морф. Щоб переконатися у вірності цього твердження, скасуємо останню операцію, натиснувши клавіші CTRL + Z, і видалимо верхню грань скляного морфа. Потім скористаємося командою логічної операції віднімання та спробуємо як цільовий елемент вибрати непрозорий морф. У результаті буде виведено попередження, що ця операція не може бути виконана.

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

В операціях над об'ємними елементами морфи можуть виступати як ролі цільових елементів, так і в ролі операторів. Для розгляду цих операцій створимо два морфи. Перший морф буде повністю ідентичний непрозорому морфу, який ми використовували при розгляді логічних операцій. Другому морфу розмірами 1500х800х200 призначимо непрозоре червоне покриття.

Розташуємо морфи, як показано на ілюстрації, і виберемо кубічний морф, щоб при відкритті діалогу твердотільного моделювання він відразу виявився цільовим елементом. Скористаємося командою Конструювання → Операції над об'ємними елементами. Абоскористаємося аналогічною командою, яка знаходиться в розділі З'єднати контекстне меню. Оскільки раніше обраний куб вже застосовується як цільовий елемент, виберемо червоний морф, натисніть кнопку Отримати елементи оператора. Потім виберемо Віднімання з виштовхуванням вгору та натисніть кнопку Виконати. Дана операція є асоціативною, і значить, вона виконуватиметься за умови, що у морфа-оператора присутня хоч одна грань або поверхня, по якій може проводитися віднімання. Спробуємо видалити верхню межу червоного морфу. Як бачимо, операція, як і раніше, виконується, оскільки у морфу все ще присутня нижня грань. Видалимо і її. В результаті геометрія кубічного морфу повністю відновилася, але при цьому дія операції все ще продовжується. Це означає, що при додаванні нової грані або поверхні до червоного морфу, що присікає коричневий морф, знову відбуватиметься віднімання з виштовхуванням вгору.

Стаття написана на основі навчальних та презентаційних матеріалів, розроблених Enikő Paukó, Graphisoft SE.