Paper Model – Паперова Модель

Reference – Довідка

Category – Категорія:

Import-Export – Імпорт-Експорт

Menu – Меню:

File ‣ Export ‣ Paper Model (.pdf/.svg) – «Файл > Експорт > Paper Model (.pdf/.svg)»

Panel – Панель:

Properties ‣ Mesh ‣ Paper Model Islands – «Властивості > Сіть > Paper Model Islands»

Menu – Меню:

Mesh ‣ Unfold – «Сіть > Розгорнення»

Цей додаток генерує плоску мережу даної сіті. Він створює файли PDF або SVG, придатні для безпосереднього друку та паперового моделювання. Головною метою є максимально можлива автоматизація всього процесу. Також підтримуються такі поширені завдання, як запікання текстури моделі у вивідний документ.

Usage – Використання

Для уникнення можливих проблем перемкніться в режим об’єкта Object Mode. Далі, виберіть сіть, яку ви хочете експортувати, так, щоб вона була активною. Якщо ви хочете отримати результати швидко, просто запустіть цей додаток з меню File ‣ Export – «Файл > Експорт». Він запитає ім’я файлу, а все інше зробить автоматично. Усі відповідні устави знаходяться у нижньому лівому кутку. Вони описуються більш детально нижче.

Якщо ви незадоволені генерованою мережею, ви можете відредагувати її вручну. Для цього ви маєте запустити спершу засіб Unfold – «Розгорнення» (доступний на вкладці Mesh у властивостях Properties). Краї, що будуть порізані для сплощення сіті, повинні бути помарковані як шви режиму редагування Edit Mode seams. Ви можете використовувати засоби зчищення швів Clear Seam та відмічення швів Mark Seam для організування їх бажаним для вас чином або скористатися допоміжною кнопкою зчищення всіх швів Clear All Seams у режимі об’єкта Object Mode, щоб розпочати з нуля. Коли ви експортуєте модель, будуть використовуватися задані шви та додадуться більше нарізів при необхідності.

Ви можете також викликати засіб Unfold лише для передогляду мережі. Він перелічить всі острови продукованої мережі на панелі та, якщо ви увімкнете це в уставах засобу, він також створить розставу UV, що показує ці острови. Зауважте, що позиції островів не розраховуються на цьому етапі, так що всі вони будуть просто лежати один поверх іншого. Ви можете використати засіб упакування островів Blender’а Pack Islands для їх упорядкування.

Існують кілька видів топології, що можливі у Blender, але не у паперовій реальності:

  • N-кутні грані (все, за винятком трикутників), що не є ідеально плоскими.

  • Ребра з нульовою довжиною (дві вершини точно в одному і тому ж місці та з’єднані ребром)

  • Грані з нульовою площею (типово їх вершини лежать всі у ряд)

Якщо будь-який з цих випадків виявлено, то додаток викине повідомлення про помилку та не буде експортувати. Це повідомлення про помилку направить вас, як виправити проблеми.

Exporting Textured Meshes – Експортування Текстурованих Сітей

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

Перемкніться у режим об’єкта Object Mode та зневиберіть всі об’єкти, окрім того, що буде експортуватися. Далі запустіть Export Paper Model та в браузері файлів File Browser перемкніть вибірник Textures на From Materials.

Якщо ви оберете експортувати файл SVG, то ви отримаєте кілька варіантів, як прикріпити зображення. Усі ці варіанти пояснюються більш детально в Properties.

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

How to Read the Net – Як Читати Мережу

Більшість вигляду документа можна налаштувати під час експорту (дивіться нижче). Проте, стандартний стиль повинен бути знайомим модельникам з паперу: пунктирні лінії представляють згортання назовні, штрихпунктирні лінії – всередину (тобто, для формування угнутих форм). Рубіж кожної частини мережі рендериться суцільними лініями. Липкі вкладки мають сіруватий колір заповнення, щоб відрізнятися від інших частин мережі.

A label is written on a tab when its target edge might not be clear. Specifically, the label is omitted if the edge will be stuck to the same place as its both neighbors or if one of these is the target itself. The format of labels is island_abbreviation: edge_number. Island abbreviation is written in square brackets under the corresponding island, before to its full-length name. Edge number is written as a triangle arrow next to that target edge, outside the net.

Якщо Create Tabs вимкнено, то однаковий формат використовується для позначок уздовж кожного з пов’язаних країв, всередині мережі. Цей метод призначений для моделювання з жорстких та/або товстих матеріалів, для яких липкі вкладки зовсім безглузді. Якщо Create Numbers вимкнено, то позначки пропускаються; це може бути необхідним для високо деталізованих моделей.

How to Print the Net – Як Друкувати Мережу

Файл PDF можна надрукувати безпосередньо майже де завгодно. Проте, це стає важче, якщо вам потрібно змінити мережу вручну.

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

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

Placing Marks on the Net – Розміщування Міток на Мережі

Ребра з міткою Freestyle Mark (Edge ‣ Mark Freestyle Edge) будуть підсвічуватися в мережі за допомогою користувацьких кольору та стилю рисування. Це корисно, особливо коли вони використовуються на плоских краях, які зазвичай не рисуються взагалі. Якщо ви нарисуєте форму за допомогою засобу ножа Knife, а потім відмітите деякі з країв як Freestyle, то ви можете зробити просте рисування ліній на моделі.

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

Settings – Устави

Paper Model Islands – Острови Паперової Моделі

Вкладка Paper Model Islands у вкладці Mesh пропонує дві кнопки для зручного виклику засобів розгорнення Unfold та експорту паперової моделі Export Paper Model. Вона також пропонує кнопки для відмічення та зчищення швів, залежно від контексту, а також експериментальну функціональність ліміту розміру островів Limit Island Size.

Once the Unfold tool is called, the model is split into flattened parts and these are presented in a list called Islands below. The list allows you to change the label of each island. If Create Numbers is enabled during export, abbreviations of these labels will be used to describe which tab should be stuck to which island. After running the Unfold tool, these island labels are recalculated so that as many faces as possible remain under the same label.

Якщо ви виберете острів та увімкнете кнопку підсвічення вибраного острова Highlight Selected Island (а сіть, яку ви розгорнули, є активною), то цей острів підсвітиться оранжевим в оглядвікні 3D Viewport. Використовуючи повзунок нижче, ви можете змінювати безпрозорість підсвітки.

Unfold – Розгорнення

Перша опція зверху є Create UV map – «Створити розкладку UV». Якщо увімкнено, то нова розкладка UV буде згенерована для показу всіх островів. Проте, їх позиції не розраховані ще на цей момент процесу експорту, тому вони всі просто розміщені у нижньому лівому кутку. Ця опція є корисною при редагуванні ліній різання вручну. Ви можете використати засіб розгортання Unwrap та отримати подібний результат.

Засіб має три повзунки, які всі наладнують пріоритет різання країв (а саме: Face Angle Convex – «Опуклий Кут Граней», Face Angle Concave – «Угнутий Кут Граней», Edge Length – «Довжина Ребра»). Високе значення дає край з відповідною властивістю, що має більший шанс бути різаним. Через це, зазвичай краще задавати для Edge Length від’ємне значення, дозволяючи довгим краям залишатися з’єднаними. Випадкове модифікування цих значень може часто допомагати скорочувати рахунок островів в мережі. Щодо інформації про значення цих значень, то читайте розділ Unfold у Technical Details.

Properties – Властивості

Коли ініціюється експорт, то додаток тихо розгортає сіть (без відмічення будь-яких швів) та ділить усі грані на острови, що може зайняти кілька секунд для складних сітей. Далі, показується браузер файлів File Browser. При форматі SVG ім’я файлу, обране вами, отримає суфікс _page<number>.svg, навіть якщо потрібна була лише одна сторінка.

Устави цього експортера представлені у нижньому лівому кутку File Browser.

Preset – Передустава

Меню Preset дозволяє швидко зберігати та повторно викликати всі устави під ним, включаючи масштаб моделі та стиль кольору.

Model Scale – Масштаб Моделі

Model Scale може використовуватися для масштабування всієї мережі. Якщо ви хочете мати модель у масштабі 1:72, то просто задайте це як 72. Це важлива опція також тому, що додаток часто продукує острови більші, ніж сторінка.

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

Create UV Map – Створення Розкладки UV

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

Document Settings – Устави Документа

Устави, тісно пов’язані з форматом вивідного документа, знаходяться на підпанелі Document Settings.

Format – Формат

Перший вибірник перемикає між форматами PDF та SVG документів.

Page Size – Розмір Сторінки

Інший вибірник нижче дозволяє вам обирати швидко один з найпоширеніших розмірів паперу. Якщо вам потрібно щось інше, оберіть User Defined – «Задано Користувачем» та задайте розмірності вручну.

Page Margin – Припуск Сторінки

Полегшує експорт моделей у точному масштабі (якщо ви установили повзунок Model Scale на 1).

Ви можете задати це для ширини недрукованої границі вашого принтера, щоб результатний документ SVG був придатний для друкування без подальшого масштабування. Проте, експортувати масштабовані моделі все ще важко, оскільки цей додаток автоматично не розділяє острови завеликого розміру.

DPI – ТНД

Наступне значення є DPI, яке визначає загальну роздільність мережі. Тобто, не лише роздільність запечених зображень (якщо такі є), але також і товщину ліній.

Create Tabs – Створення Вкладок

Керує тим, чи створюються взагалі липкі вкладки. Наприклад, вимкніть це, якщо ви хочете клеїти модель за допомогою стрічки.

Create Numbers – Створення Номерів

Adds numbers to some edge pairs that are supposed to be stuck together. These numbers are excluded if the correct destination is easy to guess from the neighboring edges. In more complex models, they may overlap a lot with each other and with the net itself. Disabling this option may help solve such issues. If Create Tabs is disabled, the numbers will be rendered inside of the net.

Tabs and Text Size – Вкладки та Розмір Тексту

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

Hidden Edge Angle – Кут Хованого Краю

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

Textures – Текстури

Меню вибору Textures перелічує опції для експортування текстурованих сітей.

No Texture – Нема Текстур

Просто створює мережу на білому фоні (раніше це називалося «Чиста Мережа»). Решта опцій викликають запікання текстур, а тому помітно повільніші.

From Materials – З Матеріалів

Експортує зображення, що призначене кожній грані моделі в їх активному матеріалі.

Full Render, Selected to Active – Повний Рендер, Вибране на Активне

Відповідають відповідним опціям типу запікання Bake Type. Вони обидві рендерять всі матеріали та освітленість: Full Render лише рендерить модель, тоді як Selected to Active ще й проєктує інші поблизу вибрані об’єкти на модель. Це може бути корисним для створення таких патернів, як хутро або листки, процедурно.

Images – Зображення

Меню вибору Images дозволяє вам обирати спосіб включення запечених зображень у файл SVG. Якщо ви хочете редагувати розставу мережі в редакторі SVG, обирайте Linked – «Пов’язане» або Embedded – «Вбудоване».

Embedded – Вбудоване

Створює автономні файли SVG, роблячи їх більшими, але портативними.

Single Linked – Одиничне Пов’язане

Залишається здебільшого з причин сумісності.

Colors and Style – Кольори та Стиль

Опції, пов’язані зі стилем рисування, упаковані на підпанелі Colors and Style. Вони повинні бути цілком самоочевидними.

Технічні Деталі – Technical Details

Unfold – Розгорнення

Спершу, алгоритм призначає кожному краю «пріоритет», залежно від його кута та довжини. Краї з вищим пріоритетом більш ймовірно будуть розрізатися у кінцевій мережі. Коротші краї мають вищий пріоритет (їх легше склеювати) і також гостріші кути (що полегшує візуальне розуміння мережі).

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

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

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

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

Перевірка перекриття базово є алгоритмом Bentley-Ottmann для перетину сегмента лінії, що застосований до рубежу результатного острова. Для обробки деяких спеціальних випадків алгоритм автоматично перемикається між злегка швидшою та більш надійною версією себе. Ще одна перевірка застосовується для виявлення, чи рубіж перетинає себе лише у вершині результатного острова – такі випадки мають бути протестовані явно, оскільки вони не повинні спричиняти перетинання сегментів лінії.

Positioning the Nets on Pages – Позиціювання Мереж на Сторінках

Оскільки мережі не складаються лише з реальних граней, але також зі склеювальних вкладок навколо, то вони не можуть позиціюватися внутрішнім засобом Blender (Pack Islands). Тому, довелося написати автономний алгоритм.

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

Коли залишаються острови, що не можна було розмістити на сторінці, то створюється нова сторінка.

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