Научтруд
Войти

ОБЗОР СЕРВИСОВ ДЛЯ РАБОТЫ C ТРЕХМЕРНЫМИ МОДЕЛЯМИ

Научный труд разместил:
Ustin
15 августа 2020
Автор: Маций Ольга Борисовна

УДК 004.9 DOI: 10.30977/BUL.2219-5548.2019.87.0.43

ОГЛЯД 1НФОРМАЦ1ЙНИХ СЕРВ1С1В ДЛЯ РОБОТИ З ТРИВИМ1РНИМИ

МОДЕЛЯМИ

Маций О.Б., Нгжников А.В. Харкiвський нац1ональний автомобiльно-дорожнiй унiверситет

Анотаця. У po6omi були розглянут1 cepeicu для роботи з тривим1рними моделями в се-редовищ1 браузера та гх застосування. Було проведено аналiз технологт та систем для роботи з тривимiрними моделями, з урахуванням тдтримки роботи на мобтьних пристроях. Ключов1 слова: тривимiрна модель, браузер, ттерактивне керування, технологiя WEBGL.

Вступ

На сьогодшшнш день тривимiрне проек-тування е основою технолопчного процесу у вах сферах виробництва.

У кожнш сфер^ до яко! тривимiрне моде-лювання принесло змши, е сво! стандарти та негласш правила.

Проте навiть у межах одше! сфери кшь-юсть програмних пакетiв може набувати та-ко! кiлькостi, що молодому фахiвцю бувае дуже складно орiентуватися в цих системах та осво!ти !х.

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

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

Виходячи з цього, головною метою стае створення системи, яка б дала змогу працювати з готовими тривимiрними моделями й одночасно вщповщала таким кри-терiям:

- незалежнiсть вiд платформи;

- здатнють працювати на мобiльних при-строях;

- легюсть у використаннi та модершзаци;

- надання необхiдного мшмуму можли-востей для роботи з моделлю [1].

Щоб зменшити час та фiнансовi витрати на розроблення тако! системи, е можливiсть взяти як ушверсальне середовище виконання для системи сучасш браузери.

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

Використання сучасними браузерами мови програмування JavaScript забезпечить низький nopir освоення сервюу та його технологiй для майбутньо! модершзаци [2, 5].

Аналiз публжацш

На цей момент вже юнують пoдiбнi сеpвiси, ствopенi для роботи з тpивимipними моделями в сеpедoвищi браузера.

Проте ix кiлькiсть дуже незначна, найбшьш вiдoмими е P3d.in, Sketchfab, Verold Studio та ш. Кожний сеpвiс мае сво! недолши, але в той же час i переваги перед iншими ршеннями [3].

Сеpвiс P3d.in (рис. 1) надае змогу заван-тажувати мoделi в фopматi OBJ на сайт та дшитися ними.

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

Рис. 1. Зовшшнш вигляд сеpвiсу P3d.in

Сеpвiс Sketchfab (рис. 2) - е можливють розщнювати як мoдифiкацiю P3d.in [4].

Щоб користуватися ушм функцioналoм сервюу, необхщно оплачувати пiдписку.

Сервю дозволяе демонструвати не одну модель, а одразу цше портфолю.

1з значних вiдмiнностей можна виокреми-ти можливiсть завантажувати файли в дектькох форматах, а також можливють налаштовувати середовище вiдображення моделi, зокрема:

- керувати параметрами матерiалу мо-делi;

- змiнювати фон сцени;

- змшювати позицию моделi на сцеш.

Рис. 2. Зовнгшнш вигляд сервюу Sketchfab

Серв1с Verold Studio з&явився останшм серед трьох наведених сервю1в, тому в процес створення в нього одразу заклали набагато бшьше можливостей тж у конкурента, серед найб1льш визначних це редактор ма-тер1ал1в, який дозволяе додавати вщобра-ження, тш тощо. Також е можливють налаштовувати декшька вид1в освилення та фонового зображення.

Фактично це перший сервю, який за р1вем можливостей налаштування модел1 та и ото-чення почав наближуватися до профшьних редактор1в. Ус сервюи, наведет вище, е ак-тивними на сьогодтшнш день та широко використовуеться, кожний видшяеться по-своему. Переваги ж запропонованого в цш робот сервюу - це поеднання кращих рис наведених сервю1в з метою створення каркасу власного штерактивно-довщкового сервюу, який стане основою для майбуттх розробок.

Основт проблеми, як можуть виникати в розроблент сервюу, пов&язат з1 складшстю роботи з тривим1рною графкою у браузер! Щоб зрозумии основу проблеми потр1бно спочатку визначити, що саме необхщно для вщображення тривим1рно1 графки у браузер1 та виршити пов&язат з цим проблеми. Спочатку треба засвоГти, що за вщображення графки на персональних компьютерах

вiдповiдае або Direct3D, або OpenGL. Це двi найбшьш поширенi на сьогодтшнш день графiчнi бiблiотеки, як надають необхiднi API для роботи з графкою.

Direct3D - це частина закритого програм-ного пакета технологш Microsoft DirectX, яка пщгримуеться тшьки операцiйною системою Windows. Альтернативою ш е технология OpenGL, яка завдяки вщкритш реалiзацiï програмного коду отримала значно бшьше поширення [6].

Реалiзацiï OpenGL здатнi працювати на рiзноманiтних операцiйних системах та апа-ратних платформах. Специфiкацiя OpenGL була розроблена компатею Silcon Graphics Inc та опублкована як вiдкритий стандарт у 1992 р. З того часу вона суттево вплинула на розвиток тривимiрноï графки загалом, а головне стала основою тривимiрноï графки у веб-середовишд [8].

Мета i постановка завдання

Провести аналiз наявних систем роботи з тривимiрними моделями на базi веб-переглядача для виявлення недолтв та пе-реваг.

ТехнолоНя WebGL

WebGL - це стандарт, який базуеться на технологи OpenGL. Безпосередшм прототипом для стандарту прийнято вважати OpenGL ES, реалiзацiя якого була створена для вбудованих систем ще в 2004 р. та онов-лена в 2007 р. до версп 2.0 та до версп 3.0 у 2012 р.

WebGL дозволяе впроваджувати апарат-но-прискорену 3D-графiку у веб-сторшки, без необхщносл використовувати спещальш плагши веб-браузера на будь-якш платформi, що тдтримуе OpenGL або OpenGL ES. Тех-нiчно це е прив&язкою скриптiв до функций, визначених у бiблiотеках OpenGL ES 2.0, як реалiзованi на рiвнi браузера.

Дуже важливим чинником е достатньо широка тдтримка технологи рiзними браузерами:

- Mozilla Firefox (з 4-ï версiï), Firefox Mobile (з 4-ï версп);

- Google Chrome (з 9-ï версiï), мобшьна модифiкацiя (з 25-ï версiï);

- Safari (з 6-ï версiï, за замовчуванням пщтримка WebGL вiдключена);

- IE (з 11-ï версiï, для пщтримки попе-реднiми версшми необхщно використовувати сторонш плагши);

- Android-браузер (пiдтримка залежить вiд конкретного девайса);

- IOS (повна тдтримка з верси 8.1) [7].

Незважаючи на те, що технологiï майже

10 роюв, лише зараз вона починае набувати популярностi. Насамперед це зумовлено тим, що мобшьш штернет-пристро&&, навiть бюджетного сегменту, отримали достатню поту-жнiсть для роботи з WebGL.

Основними сферами використання технологи можна виокремити:

- 1нтернет-маркетинг та тривимiрнi презентаций

- сервiси для створення та редагування тривимiрних моделей;

- штерактивш посiбники.

У сферi iнтернет-маркетингу технолопя, як правило, застосовуеться для створення тривимiрних моделей товарiв, що дае змогу потенцшну клiенту детально оглянути та вивчити товар перед тим, як його купити [8].

Сервюи спрямоваш на розроблення три-вимiрних моделей, що наразi мало поширеш та мають дуже обмежену функщональшсть. Проте вже зараз можна смшиво стверджува-ти, що прийде час, коли з&явиться такий ш-струмент, що дозволить створювати у брау-зерi моделi високо&& точностi, яю можна буде використовувати у сферi машинобудування, архiтектури та iн.

1нтерактивш посiбники - спосiб проде-монструвати певну шформащю в максимально наочному виглядг Це можуть бути як звичайш графiки та дiаграми в тривимiрному просторi. Або штерактивш мапи мюцевосп, якi демонструють будь-яю процеси в часi, наприклад, метеоролопчш данi про рух по-вггряних мас, iсторiю землетрусiв тощо.

Основним перевагами технологи е те, що вона мае тдтримку рiзноманiтними браузерами, та не мае прив&язки до конкретно&& платформи або операцшно&& системи. Головне, щоб браузер мав тдтримку технологи WebGL. Використання мови програмування JavaScript [2], що забезпечуе низький рiвень входження та дуже широку базу користу-вачiв, що тдтримуе активний розвиток та популяризащю технологи. Великою перевагою е автоматичне управлшня пам&яттю, тобто, на вщмшу вщ OpenGL, у WebGL не потрiбно виконувати спецiальних дш для видiлення та очищення пам&ятг Використання потужностi видiленоï вщеокарти та апа-ратного прискорення, що забезпечуе високу продуктивнiсть технологiï, яку можна порiв-нювати з продуктивнютю програмного забезпечення, створеного для конкретно! платформи.

Порiвняльний аналп бiблiотек для розроблення на WebGL

Технологiя WebGL для свое! роботи вико-ристовуе API низького рiвня, що у свою чер-гу спрощуе iнтеграцiю технологiï до брау-зерiв, проте значно ускладнюе створення штерфейшв для розробникiв застосункiв. Тому для оптимiзацiï робочого процесу було створено багато стороншх iнструментiв, продукпв та бiблiотек, якi дають змогу значно спростити використання технологи.

Основними представниками таких ш-струменпв можна вважати:

- WebGLU;

- BabylonJS;

- ThreeJS [10].

Бiблiотека WebGLU стала першим загаль-нодоступним набором утилiт низького та ви-сокого рiвнiв для розроблення на базi WebGL. Бiблiотека спроектована таким чином, що розробник може зосередитися на кiнцевому результату а не на створеннi типо-вих рiшень та шаблонного коду. Проте така структура не стримуе контроль, вона дозво-ляе розробнику отримувати максимальний контроль, якщо це необхщно. Такi широкi можливостi базуються на використаннi функцiй низького рiвня для роботи з WebGL API [9].

Бiблiотека мае чимало функцш, спрямо-ваних на спрощення розробки. Деяю основнi можливостi:

- автоматичне завантаження та налашту-вання шейдерiв;

- можливiсть завантажувати шейдери з рiзних форматiв файлiв;

- ус компiляцiï та компоновки обробля-ються автоматично;

- автоматичне встановлення будь-я^& проекцiï та виду моделц

- забезпечуе проекци та матрицi-стеки виду моделi, яю подiбнi до режиму матриць у OpenGL;

- автоматично створюе за необхщност буфери для вiдображення моделц

- можливiсть призначення окремих шей-дерних програм кожному об&екту;

- тдтримка iерархiï об&ектiв;

- тдтримка процедурних анiмацiй;

- пiдтримка за кадровою анiмацiею.

Бiблiотека GLGE орiентована насамперед

на динамiчнi змiни у сцеш. Однак на цей момент не отримувала оновлень з 2014 р., тому мае сумшвну актуальшсть [10].

Серед особливостей е можливють видши-ти атмацп для матерiалiв, рiзнi види освiтлення та скелетна ашмащя. Бiблiотека дае широкий спектр можливостей, серед яких:

- кадрова ашмащя;

- карти нормалей;

- карти змщення;

- карти оточення;

- тдтримка формату Collada;

- тдтримка рiвнiв деталiзащl об&екпв;

- туман;

- глибина тшей;

- переломлення / вщображення;

- видалення прихованих частин сцени з процесу оброблення для оптимiзацil.

Бiблiотека BabylonJS з вщкритим про-грамним кодом спрямована на створення 3D-застосункiв та кюр.

З особливостей можна виокремити ште-гроване фiзичне ядро oimo.js, що дае змогу створювати реалютичний ландшафт за раху-нок використання карти висот.

Одна з найпопуляршших та функщональ-них бiблiотек на цей момент, проте недолшом е ii великий розмiр, що дорiвнюе приблизно 800 кiлобайтам.

Список основних функцш:

- сцена, яка дозволяе використовувати готовi моделi, туман, моделi неба;

- фiзичний двигун;

- ашмацшний двигун;

- звуковий двигун;

- система частин;

- апаратне масштабування;

- тдтримка рiвнiв деталiзацil;

- автоматична оптимiзацiя сцени;

- чотири типи освгглення.

Бiблiотека ThreeJS найбiльш популярна на цей момент бiблiотека, яка добре документо-вана та мае велику кшькють прикладiв для вивчення шструменпв, що надае ця бiблiо-тека.

Бiблiотека дозволяе використовувати лише необхщш модулi, тобто немае необ-хiдностi завантажувати всю бiблiотеку, якщо потрiбно зробити щось просте.

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

популярних форматах файлiв для SD-моделей.

Деякi з особливостей бiблiотеки:

- пiдтримка роботи з CANVAS, SVG та WebGL;

- динамiчна замша об&eктiв сцени в реальному 4aci;

- туман;

- п&ять видiв камери та можливють ix комбiнацiй;

- каркасна та кадрова ашмащя;

- рiзноманiтнi види кшематики;

- зовнiшнe, спрямоване освгглення;

- динамiчнi тiнi;

- шейдери (GLSL);

- велика кiлькiсть готових об&екпв: лши, частки, сiтки тощо;

- активнi модифiкатори: тканина та ш.;

- можливiсть завантаження рiзноманiтниx типiв даних;

- експорт та iмпорт об&ектiв [11].

Беручи до уваги мехашзми

функцiонування сучасних браузерiв, стае зрозумiло, що основною мовою програ-мування буде JavaScript. Iншi доступнi мови програмування використовувати неращо-нально через необxiднiсть застосування до-даткових програмних прошаркiв для пра-вильноi штерпретацп браузерами.

Бiблiотека для розроблення на базi технологи WebGL повинна вiдповiдати декiльком основним критерiям:

- надавати зручну систему модулiв та класiв;

- тдтримувати сучаснi можливостi мови програмування JavaScript;

- мати офщшну та детальну документа-цiю для отримання довiдковоi шформацп щодо використання бiблiотеки;

- мати офщшш приклади використання шструменпв з бiблiотеки;

- мати робочi та повнофункцiональнi приклади проектiв поза документащею, якi виконанi з використанням бiблiотеки.

Висновки

З аналiзу наявних систем для роботи з ш-терактивними тривимiрними моделями в се-редовищi браузера можна зробити висновок, що вс цi системи мають своi недолiки, такi як:

- дуже висока щна;

- незручнiсть у використанш;

- неможливiсть модифiкувати систему для своix потреб;

- припинення тдтримки та розвитку си-стеми ïï творцями;

- неоптимальнють програмного коду;

- наявнють критичних помилок у кодi. Пюля аналiзу та огляду доступних бiблютек е можливiсть зробити висновок, що на цей момент необхщним критерiям найбiльше вiдповiдають двi бiблiотеки - це TheeJS та Babylon.js.

Лiтература

1. Jos Dirksen: Learning TheeJS: The JavaScript 3D Library for WebGL. М.: Packt Publishing, 2013. 402 с.
2. Флэнаган Дэвид: JavaScript. Подробное руководство Москва: Символ-Плюс, 2004. 1080 с.
3. 3D games on the Web.: https ://developer. mozilla. org/ru/docs/Games/Tech niques/3D on the web.
4. Бернерс-Ли Тим. Wikimedia. URL: httpsy/ru.wikipedia.org/wiki/Бернерс-Ли, Тим.
5. JavaScript.

URL: https ://developer. mozilla. org/ru/docs/ Web/JavaScript.

6. API - application program interface. URL: https://ru.wikipedia.org/wiki/API.
7. WebGL - стандарт на баз1 OpenGL ES 2.0. URL : https ://uk.wikipedia. org/wiki/WebGL.
8. OpenGL.

URL : https ://uk.wikipedia. org/wiki/OpenGL.

9. What is Vues? URL: https://vuex.vuejs.org.
10. Scene - TheeJS docs. URL: https://threejs.org/ docs/index.html#api/en/scenes/Scene.
11. Camera - TheeJS docs. URL: https://threejs.org/ docs/index.html#api/en/cameras/Camera.

References

1. Dirksen J. (2013). Learning TheeJS: The JavaScript 3D Library for WebGL. М.: Packt Publishing, 402.
2. Devid F. (2004). JavaScript. Podrobnoe rukovod-stvo M.: Simvol-Plyus, 1080.
3. 3D games on the Web, available at https ://developer. mozilla. org/ru/docs/Games/Tec hniques/3D on the web.
4. Berners-Li T. Wikimedia, available at: https://ru.wikipedia.org/ wiki/Бернерс-Ли, Тим.
5. JavaScript, available at: https ://developer. mozilla. org/ru/docs/Web/ JavaScript.
6. API - application program interface, available at: https ://ru.wikipedia. org/ wiki/API.
7. WebGL - standart na baze OpenGL ES 2.0, available at: https://uk.wikipedia.org/ wiki/WebGL.
8. OpenGL, available at: https ://uk.wikipedia. org/wiki/OpenGL.
9. What is Vues?, available at: https ://vuex.vuejs.org.
10. Scene - TheeJS docs, available at: https://threejs.0rg/d0cs/index.html#api/en/scenes/ Scene.
11. Camera - TheeJS docs, available at: https://threejs.0rg/d0cs/index.html#api/en/camera s/Camera.

Маций Ольга Боримвна, к.т.н., доцент кафедри комп&ютерних технологш i мехатрошки, тел.: +38-057-707-37-43, e-mail: olga.matsiy@gmail.com. Харшвський нацюнальний автомобшьно-дopoжнiй yHiBepcHTeT, Украша, м. Харшв, вул. Ярослава Мудрого, 25. Шжников Анатолiй Володимирович, MaricTp кафедри комп&ютерних технологш i мexaтpoнiкн, e-mail: nizhnikov97@gmail.com. Харшвський нацюнальний автомобшьно-дорожнш ушверси-тет, Украша, м. Хapкiв, вул. Ярослава Мудрого, 25.

Обзор сервисов для работы c трехмерными моделями

Аннотация. В работе были рассмотрены сервисы для работы с трехмерными моделями в среде браузера. Был проведен анализ технологий и систем для работы с трехмерными моделями с учетом поддержки работы на мобильных устройствах.

Маций Ольга Борисовна, к.т.н., доцент кафедры компьютерных технологий и мехатроники, тел.: +38-057-707-37-43, e-mail: olga.matsiy@gmail.com. Харьковский национальный автомобильно-дорожный университет, Украина, Харьков, ул. Ярослава Мудрого, 25.

Нижников2 Анатолий Владимирович, магистр кафедры компьютерных технологий и мехатро-ники, e-mail: nizhnikov97@gmail.com. Харьковский национальный автомобильно-дорожный университет, Украина, Харьков, ул. Ярослава Мудрого, 25.

Review of services for working with three-dimensional models

This paper deals with services for working with three-dimensional models in the browser environment and their application. The analysis of technologies and systems for working with three-dimensional models was carried out, taking into account the support of work on mobile devices. Goal and problem statement. The main problems of all software packages are the high input threshold, the need for powerful tool, which requires significant financial costs to work with three-dimensional models. The purpose is to analyze existing browser-based 3D models to identify disadvantages and benefits. When creating high-precision design models, the complexity of the model smooths out these problems, then primitive

operations help interactively view and obtain information about the model. Methodology. With this in mind, the main goal is to create a system that would allow to work with ready-made three-dimensional models, while meeting the following criteria: platform independence; ability to work on mobile devices; easy usage and upgrading; minimum necessary abilities to work with the model. Results. Analyzing existing systems to work with interactive 3D models in a browser environment, we can conclude that all of these systems have their disadvantages, such as: very high price; inconvenience in use; inability to modify the system for their needs; discontinuation of support and development of the system by its creators; not optimality of program code; the presence of critical errors in the code. Practical value. After analyzing and reviewing the available libraries, it is possible to conclude that the most currently required

criteria are two libraries, namely TheeJS and Baby-lon.js.

Matsiy Olga, Candidate of Engineering Sciences, Associate Professor, Department of Computer Technology and Mechatronics, tel.: + 38-057-707-37-43, e-mail: olga.matsiy@gmail.com. Kharkiv National Automobile and Highway University, 25, Yaroslava Mudrogo str., Kharkiv, 61002, Ukraine.

Nizhnikov Anatoliy, Master of Computer Technology and Mechatronics,

e-mail: nizhnikov97@gmail.com. Kharkiv National Automobile and Highway University, 25, Yaroslava Mudrogo str., Kharkiv, 61002, Ukraine.

ТРИВИМіРНА МОДЕЛЬ БРАУЗЕР іНТЕРАКТИВНЕ КЕРУВАННЯ ТЕХНОЛОГіЯ webgl ТРЕХМЕРНАЯ МОДЕЛЬ ИНТЕРАКТИВНОЕ УПРАВЛЕНИЕ ТЕХНОЛОГИЯ webgl three-dimensional model browser interactive control
Другие работы в данной теме: