МОЖЛИВОСТІ 3D РЕДАКТОРІВ ДЛЯ СТВОРЕННЯ

ДЕМОНСТРАЦІЇ ФІЗИЧНИХ  ПРОЦЕСІВ

Власенко В.Г., Каліберда Л.М., Перевала І.С., Спольнік О.І.

 

Сучасні 3d редактори мають доволі великий набір можливостей для моделювання широкого спектру фізичних  процесів. Під демонстрацією слід розуміти фізично коректну сцену, відображену у вигляді відеофайлу або
у *.
exe - застосування. Хоча редактори і застосовують, загалом, з демонстраційною метою, їх можливості дозволяють також проводити доволі точне моделювання  простих фізичних процесів, таких як падіння тіла з певної висоти, рух тіла похилою площиною, кинутого під кутом  та ін. Будь – який
3
d редактор має фізичний рушій – саме ця частина програми дозволяє проводити розрахунки. Розрахунок проводиться над певними об'єктами, виходячи з їх геометричних форм та заздалегідь заданих параметрів (користувачеві надається доволі широка свобода у їх встановленні: це такі властивості як маса, тертя, пружність та ін.). У 3d – редакторах існують  декілька типів розрахунку фізичних процесів:

а) тверді тіла, які мало деформуються під впливом сил;

б) м'які тіла які деформуються, пружні тіла (тканини, желе, вода, та ін.);

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

До сучасних редакторів можна віднести  Autodesk Maya, 3dsmax , Blender[1]. Серед  трьох наведених Blender є вільно розповсюджуваним з відкритою ліцензією та вихідним кодом. Blender постійно оновлюється та отримує нові опції. Цей редактор, на відміну від інших, має не лише потужну базу для моделювання, шейдингу, растеризації, композитингу 3d – контенту, а й вбудований ігровий рушій, що дає можливість створювати *.exe-файли (автономне, інтерактивне застосування).

 

 

Сенсом фізичного відтворення є:

1. Створення коректної моделі. Це – ті об'єкти, зміни у стані яких треба показати. Сенсом створення моделі є те, що вона повинна бути достатньо деталізована, мати правильну топологію: принципово будь-яка модель складається з полігонів – площин, що обмежені 4 або 3-ма  точками – це є сутністю роботи бібліотеки OpenGL на C++. Втім, сам процес моделювання може проходити і з штучною заміною полігонів на криві або
метатіла –головним є тільки правильна і плавна побудова.

2. Створення демонстраційної сцени.

3. Призначення фізичних властивостей об'єкта.

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

4. Рендеринг. Растеризація (виведення зображення ) векторної 3d- сцени у відео будь-якого формату або покадрову секвенцію.

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

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

Для прикладу змоделюємо рух кулі похилою площиною:

- створимо новий файл (Ctrl+N), збережемо його в певну директорію
    (
Ctrl+S);

- виділимо стандартний куб і змасштабуємо його так, щоб він мав форму дошки (SX/Y/Z);

- пересунемо в режимі редагування (Tab) меж об'єкта так, щоб центр об'єкта був скраю дошки (GX/Y/Z);

- вийдемо з режиму редагування (Tab), застосуємо масштаб                                                   (Ctrl +AScale);

- у вкладці «Physics» межа об'єкта залишаємо його Static mesh, ставимо галочку Collission Bounds, залишаємо тип фізики Box;

- нахилимо дошку так, щоб вона стала похилою площиною (RX/Y/Z);

- додамо сферу (Shift +AMeshSphere);

- пересунемо її на вершину похилої площини, тип фізики виберемо

  Rigid body, Collisioh Bounds→Triangle Mesh;

- додамо і застосуємо модифікатор Subsurf;

- натискаємо «P»→ куля скотиться похилою площиною і впаде.

Фізично коректним є відтворення оптичних явищ. Коректність відтворення суттєво залежить від рендереру – програми для рендереру сцени.

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

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

Зважаючи на точність розрахунку, застосування програмних засобів для відтворення оптичних явищ обмежується потужністю  комп'ютера. На комп'ютері середньої потужності фотореалістичний рендерер  змалює сцену з середнім рівнем деталізації до 1000-2000 проходів/піксель приблизно за 2-3 години. Таким чином, використання коректного рендерера дозволяє одержати якісні і фізично реалістичні анімації.

 

Література

1. Прахов А.А. Самоучитель  Blender 2.6. – Изд-во: BHV – СПб, 2012.– 384с.