РОЗДІЛ 5. ТРИВИМІРНА (3-D) ГРАФІКА

 

 

5.1.      Поняття двовимірної і тривимірної графіки

 

Двовимірна (2D) графіка – це зображення, які мають два вимірювання, тобто які лежать на площині.

А тривимірна графіка (3D) (3 Dimensions, на укр. мові 3 виміри) – розділ комп’ютерної графіки, сукупність засобів і інструментів (як програмних, так і апаратних) призначених для зображення об’ємних об’єктів (рис. 5.1).

 

Рис. 5.1. тривимірна графіка (3D)

 

На відміну від 2D графіки 3D використовує тривимірне представлення геометричної інформації (часто Декартову, т.т. картезіанську), що зберігається в комп’ютері для подальшого обчислення і побудови 2D зображень. Тривимірне зображення на площині відрізняється від двовимірного тим, що включає побудову геометричної проекції спеціалізованих програм. При цьому модель може відповідати об’єктам реального світу (автомобілі, будинки, буревій, астероїд), чи бути цілковитою абстракцією (проекція чотирьохвимірного фракталу).

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

Поряд з програмами традиційної 2D-графіки в останнє десятиліття значне  розповсюдження і популярність отримали програми 3D-моделювання, анімації і візуалізації. При цьому такі відомі програмні рішення, як 3D Studio MAX (рис. 5.2) чи Maya є гібридними графічними пакетами. З однієї сторони, вони надають дизайнеру можливість маніпулювати 2D- і 3D-векторними об’єктами, з іншої, результатом роботи (фінальної візуалізації) є піксельне (растрове) зображення – окремий кадр або відеоролик.

Рис. 5.2. 3D Studio MAX

 

У силу специфікації 3D-моделювання і можливості працювати з анімацією такі програми займають особливе місце серед графічних програм. Якщо спробувати позиціонувати пакети 3D-графіки з точки зору їх цільової функції, можна виділити такі: візуальні спецефекти для кіно- і відео індустрії; телевізійна реклама; інтерактивні ігри; промисловий та архітектурний дизайн; наукова, медична і судова візуалізація; комп’ютерні тренажери і навчальні програми.

Необхідно відмітити, що застосування пакетів тривимірної графіки пред’являють вимоги як до апаратно-програмних засобів застосовуючого комп’ютера, так і до рівня знань працюючого з ними дизайнера. Оскільки, всі програми 3D-графіки, перш за все, дозволяють застосовувати декартову (картезіанську) систему координат.

 

5.2.      Типи просторів

 

У залежності від завдання і етапу роботи можна вибрати різні типи просторів і пов’язаних із ними координатних систем.

Найчастіше програми тривимірного моделювання надають такі варіанти просторів:

1.                     простір об’єкта (рис.5.4) – призначений для моделювання (опису) форми об’єкта в його власній (локальній) системі координат не відносно того, де він буде розміщений на сцені, як орієнтований чи масштабований. У кожного об’єкта існує своя власна система координат,

5,4

Рис.5.4. Простір об’єкта.

 

2.                     світовий простір (рис.5.5) застосовується для розміщення об’єктів на сцені, здійснення афінних трансформацій (переміщення, повороту і масштабування об’єктів), опису освітлення сцени, розрахунок зіткнень між об’єктами під час моделювання динаміки їх руху і т.п. Це єдиний простір для всіх об’єктів сцени.

5,5

Рис. 5.5. Світовий простір

 

3.                     видовий простір (рис. 5.6) асоційований з віртуальним спостережником (звичайною камерою) чи певною проекцією сцени (наприклад, фронтальним виглядом) і описує ту частину сцени, яка доступна для перегляду і роботи у видовому вікні,

 

5,6

Рис. 5.6. Видовий простір

 

4.                     екранний простір (рис. 5.7) – це простір (площина), в якому відображаються аксонометричні чи перспективні проекції об’єктів на площину поверхні монітора,

5,7

Рис. 5.7. Екранний простір

 

5.                     UVW-параметричний простір (рис. 5.8) застосовується під час математичного моделювання складних кривих і поверхонь (наприклад, NURBS-об’єктів) чи для задання UVW-координат тестування поверхонь.

 

Рис. 5.8. UV- параметричний простір

 

5.3.      Моделювання об’єктів

 

Класифікація створюючих тривимірних об’єктів

Всі створюючі тривимірні об’єкти можна розділити на:

1) геометричні,

2) негеометричні.

Геометричні об’єкти (рис. 5.9) застосовуються для моделювання об’єктів природного світу (персонажів, предметів).

Негеометричні об’єкти (рис. 5.10) застосовуються для надання сцені реалістичності (наприклад, правильного освітлення), для моделювання фізичних сил, діючих на об’єкти (наприклад, гравітації чи поривів вітру).

Іншими словами, геометричні об’єкти будуть присутні у візуалізованому кадрі явно (як криві чи поверхні), а негеометричні – опосередковано (у вигляді бликів, тіней, прискорень).

Основними типами геометричних об’єктів є: сплайн, полігональні об’єкти, поверхні Без’є, NURBS-поверхні, складові об’єкти, системи частинок, динамічні об’єкти.

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

Два з найбільш загальних типів сплайнів – криві Без’є (Bezier curves) і В-сплайни (B-spline curves). Типовим прикладом сплайнів є також неоднорідні раціональні В-сплайни (Non-Uniform Rational B-Spline) – NURBS (рис. 5.11).

Рис. 5.9. Інструмент Rectangle в групі геометричних об’єктів

 

Рис. 5.10. Приклад негеометричного об’єкта (камера) в 3D редакторі

 

Сплайни складаються з вершин (vertices) і сегментів (segments) (рис. 5.12). Кожна вершина сплайну має дотичні вектори (tangents), які містяться на кінцях керуючої точки, чи маркера (handels). Маркери дотичних векторів керують кривизною сегментів сплайну під час входження у вершину, які належать дотичним векторам, і під час виходу з неї.

5,11

Рис. 5.11. Види сплайнів

 

5,12

 

Рис. 5.12. Основні елементи сплайну

 

У залежності від властивостей дотичних векторів розрізняють такі типи вершин сплайнів (рис. 5.13): зі зламом (Corner); згладжена (Smoos); Без’є (Bezier); Без’є зі зламом (Bezier Corner).

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

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

 

5,13

 

Рис. 5.13. Вершини сплайну

 

Polygon (багатокутник) – плоска фігура, обмежена з усіх сторін ломаною лінією. Трикутники, то б то прості тристоронні багатокутники формують основу, каркас об’єктів у тривимірному середовищі (рис. 5.14).

Поверхні Без’є (рис. 5.15) – це математично гладкі поверхні, що описуюються розміщенням вершин Без’є. Ці вершини визначають їх кривизну за допомогою додаткових керуючих точок на кінцях дотичних до поверхні векторів.

NURBS-поверхні (рис. 5.16) – це найбільш універсальний і ефективний спосіб моделювання неоднорідних криволінійних поверхонь. Такі поверхні описуються в особливому чотирьохмірному гомогенному (однорідному) просторі, в якому кожна керуюча вершина, крім трьох координат х, у і z, має ще і додаткову вагову характеристику.

Складові об’єкти – являють собою комбінацію двох або більш змодельованих попередньо заготовок. У залежності від того, яке саме складове тіло створюється, заготовками можуть слугувати криві чи об’єми (поверхні).

 

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

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

Рис. 5.14. Приклади полігонів

 

Рис. 5.15. Приклад поверхні Без’є

 

До негеометричних об’єктів відносяться: джерела світла (рис. 5.17), камери, системи зчленування (рис. 5.18), викривлювачі простору (рис. 5.19).

Джерела світла – застосовуються під час моделювання зовнішнього і інтер’єрного освітлення. Різні типи джерел реалізують різні алгоритми розповсюдження світла.

Рис. 5.16. Рівень деталізації полігональної сфери (зліва) і NURBS-сфери(справа) — видно, що число вершин в першої сфери на порядок вищий

 

Рис. 5.17. Джерело світла

 

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

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

Рис. 5.18. Система зчленування

Рис. 5.19. Викривлювачі простору

 

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

Матеріали і карти

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

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

Тестування матеріалів

Тестування – це основний метод моделювання поверхонь накладанням на них зображень, які називаються текстурою (рис. 5.20, рис.5.22).

Текстура (рис. 5.21) – це побітове відображення поверхонь, відскановане чи намальоване, надаюче поверхні реалістичний вид.

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

Рис. 5.20. 3D – модель без текстур

 

Рис. 5.21. Набір текстур

 

В якості карт можуть бути використані зображення, збережені у файлах різних форматів (BMP, TIP, JPG, EPS), чи процедурні текстури, які є наборами правил швидкої побудови потрібного візерунку.

Додаткові властивості матеріалів

У залежності від конкретної програми трьохмірного моделювання пропонується різна сукупність додаткових властивостей матеріалів. Наприклад, пакет 3D Studio MAX дозволяє моделювати динаміку твердих тіл, що приводить у цьому випадку до необхідності задати коефіцієнти пружності матеріалу, сили тертя спокою і тертя ковзання (рис. 5.23).

Анімація

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

 

Рис. 5.22. 3D – модель з текстурами

 

Рис. 5.23. Додаткові властивості матеріалу в 3D Studio MAX

 

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

Рендерінг

Кінцева реалізація (rendering) – заключний етап роботи зі сценою. До цього етапу сцена буде містити інформацію про геометрію об’єктів, їх матеріали і освітлення. Завдання модуля візуалізації в тому, щоб обчислити колір кожного пікселя кінцевого зображення, базуючись на інформації про моделі і вибране положення віртуального спостерігача (камери).

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

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

 

 

5.4.      Редактори тривимірної графіки

 

Програма VRML, стала першою мовою тривимірного моделювання для Web. VRML 97 набула найбільшого поширення і має розширення VRL. Вона застосовує формат ASCII і являє собою звичайний текстовий файл із списком об’єктів, які названі вузлами (nodes). VRML використовує декартову тривимірну систему координат. VRML 2.0 має наступні елементи й механізми: елементи для представлення інформації про 2D – і 3D-примітиви; елементи для визначення характеристик цих примітивів; елементи для перегляду й моделювання 2D- і 3D-інформації; механізм для збереження й передачі мережами 2D- і 3D-даних; механізм для включення даних із інших метафайлів; механізм для визначення нових типів і форм інформації.

Пакет 3D Studio Max це 32-розрядний, багатопоточний пакет, орієнтований на ринок інструментів старшого класу, де дуже важлива точність. Функція Track View керує анімаційними ефектами. Він володіє унікальною можливістю під назвою «історія даних»; ця функція дозволяє розглядати будь-який етап роботи незалежно від того, як давно цей етап був виконаний. 3ds Max 2010 – це повнофункціональне рішення для 3D моделювання, анімації і рендерингу, що застосовується у розробці найпопулярніших ігор, зйомці фільмів і відеопрограм.

Пакет TrueSpace 3.0 компанії Caligari є сумісним з VRML 2.0 і містить вбудований браузер VRML, а також анімацію, інверсну кінематику і функцію відображення колізій (коли два об’єкти, які перетинаються під час руху  реалістично взаємодіють між собою). У програмі реалізоване затінення Фонга і використовується засіб рендерингу з трасуванням променів. Програма дозволяє маніпулювати об’єктами у повністю в тривимірній перспективі.

Перевагами пакета Extreme 3D компанії Macromedia є інтеграція з іншими продуктами компанії Macromedia й можливість виконувати рендеринг зображень у змішаних багатоплатформенних мережах. Він дозволяє пареміщувати двовимірні профілі в Extreme 3D з пакету FreeHand і застосовувати до них тривимірні ефекти з іншими продуктами компанії Macromedia й можливість виконувати рендеринг забражень у змішаних багатоплатформенних мережах, а також переміщувати двовимірні профілі в Extreme 3D з пакету FreeHand і застосовувати до них тривимірні ефекти.

Пакет Sculpt D популярний серед виробників цифрових ілюстрацій, які розробляють складні скульптурні об’єкти й виконують рендеринг результатів із високою роздільною здатністю під час виводу на друк. Програма надає більше 1,5 кубічних метрів робочого простору із точністю у межах 0.01 мм.

У пакет Ray Dream Studio компанії Fractal Design входять програми Ray Dream Designer 4.1 і Ray Dream Animator, які не продаються окремо.

LightWave 3D 5.0 — це одна з небагатьох дійсно незалежних від платформи програм. Пакет підтримує трасування променів, тому дає можливість керувати переломленням світла і глибиною поля. Версія для Macintosh підтримує технологію QuickDraw 3D, яка дозволяє реалізувати рух графіки з тінями у режимі реального часу.

Пакет Strata StudioPro — це професійний повнофункціональний інструмент, який володіє широким набором можливостей з моделювання, рендерингу і анімації тривимірних композицій в інтерактивному режимі. Ця програма, існуюча тільки у версії для Macintosh, дозволяє виводити файли VRML і підключати URL або адресу AppleScript до моделей VRML. Вона дозволяє створювати тривимірні моделі і застосовувати до них фотореалістичні текстури, а також ефекти освітлення; для рендерингу використовується засіб трасування променів. Крім того, програма пропонує засоби створення анімації з можливістю обробки подій.

Maya є програмою для створення тривимірної графіки і анімації, заснованих на моделях, створених користувачем у віртуальному просторі, освітлених віртуальними джерелами світла і показаних через об'єктиви віртуальних камер. Програма дозволяє створювати фотореалістичні растрові зображення, подібні тим, які отримуються за допомогою цифрової камери. При цьому робота над будь-якою сценою починається з порожнього простору. Будь-який параметр можна змусити змінюватися з часом. У результаті після візуалізації набору кадрів виходить анімована сцена. Maya працює як на комп'ютерах РС з операційною системою Windows Nt/2000, так і в операційних системах Linux, IRIX, Macintosh.

Прикладами застосування Maya є створення мультфільмів «Життя комах», «Шрек».

Існують такі версії цієї програми, як: Maya Complete, Maya Unlimited, Maya Builder, Autodesk Maya. Autodesk Maya представляє собою інтегроване програмне рішення для 3D моделювання, анімації і рендерингу, засноване на відкритій архітектурі. Ці можливості у вигляді єдиного додатка представляють виняткову цінність для фахівців із комп'ютерної графіки, виробників комп'ютерних ігор, яким потрібен високий рівень контролю за процесами створення продукції. Продукт для 3D анімації Autodesk Maya 2011 забезпечує покращену  взаємодію з користувачами всіх підтримуючих платформ (оперативних систем Mac OS X, 32 - і 64-розрядної Windows  та 64-розрядної Linux). Версія відрізняється оновленим для користувача інтерфейсом з його дизайном, можливістю прикріплення елементів, більш гнучкими засобами редагування, інструментами вибору кольору, оглядачем файлів, покращеними процедурами анімації персонажів і взаємодії з видовим екраном, можливостями 3D монтажу, вбудованими функціями керування кольором. Завдяки новому засобу задання послідовності кадрів (Camera Sequencer) використовуються в одній анімації кадри з різних камер. Ця програма дозволяє швидко виконувати покращений скіннінг персонажів з більш реалістичними деформаціями. Покращення прийнятих процесів роботи з об'єктами, здійснюється за допомогою створення об'єктів з трансформаціями (DAG-об'єкти), які можна розміщувати в просторі, встановлювати батьківсько-дочірні відносини між ними та здійснювати їх входження та пов'язування з джерелами світла. Зараз основними конкурентами Maya є програми Lightwave, Softimage XSI і 3ds max, вартість яких складає від 2000 до 7000 доларів. Серед програм, що коштують менше 1000 доларів, можна вказати TrueSpace, Inspire 3d, Cinema 4d, Вгусе і Animation Master. Існує навіть безкоштовна програма для роботи з тривимірною графікою, що називається Blender. Більшість зазначених редакторів добре працюють на базі персональних комп'ютерів і мають версії для різних операційних систем, таких як Macintosh.

Blender — є пакетом, що включає засоби моделювання, анімації, рендеринґу, післяобробки відео, а також створення інтерактивних ігор. Програма є вільним програмним забезпеченням і розповсюджується під ліцензією GNU GPL. Blender був розроблений як робочий інструмент голландською анімаційною студією NeoGeo і розповсюджувалася за принципом shareware. Особливостями пакету є малий розмір (біля 10 МБ), висока швидкість рендеринґу, наявність версій для безлічі операційних систем таких, як: FreeBSD, GNU/Linux, Mac OS X, SGI Irix 6.5, Sun Solaris 2.8 (sparc), Microsoft Windows, SkyOS, MorphOS та Pocket PC. До особливостей редактора відносяться функції динаміки твердих і м'яких тіл, рідин, наявність системи гарячих клавіш, велика кількість легкодоступних розширень, написаних на мові Python. У базове постачання не входять розгорнена документація та велика кількість демонстраційних сцен, існує хороший механізм експорту в різноманітні формати, такі як obj, dxf, stl, 3ds та інші.

Blender мав репутацію програми складної для вивчення. Практично кожна функція мала відповідне їй поєднання клавіш і кожна клавіша включена в більш ніж одне поєднання (shortcut). З моменту відкриття джерельних кодів Blender зазнав переробки основного коду програми. Це зробило процес додавання нових можливостей набагато легшим. І до програми були додані повні контекстні меню до усіх функцій, поліпшено користувацький інтерфейс із введенням колірних схем, прозорих плаваючих елементів, нову систему проглядання дерева об'єктів та інші зміни.

Хоча Blender повнофункціональна програма, проте вона має недолік процесу моделювання на основі N-Gon і дещо незавершений набір інструментів моделювання, методи чисельного вимірювання та маніпулювання, неможливість побудувати поєднання клавіш на свій розсуд, обмежену сумісність з іншими 3d форматами файлів, систему моделювання складного руху одягу (зараз знаходиться в розробці) і дещо незручне представлення бібліотек матеріалів.

Версія Blender 2.40 має велику кількість нових можливостей: оновлену систему анімації; менший стек модифікаторів; поліпшення в Інтерфейсі Користувача;  нову систему частинок (включаючи волосся) and guides, а також динаміку рідин і покращені інструменти булевого моделювання (Boolean Modelling).  У той же час новіша версія програми Blender 2.41 володіє GLSL піксельними та вершинними шейдерами для Ігрового Двигунця (Game Engine), Subsurf UV Unwrapping and a sculpting tool. Вийшла у світ новіша версія цього редактора, а саме Blender 2.42. Значним професійним проектом, у ході якого був використаний Blender є Людина-Павук 2.

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