Главна информация¶

Какво е Blend4Web¶

Blend4Web е софтуерна среда за подготовка и интерактивно показване на 3D аудиовизуално съдържание в браузърите, т.е. триизмерен "двигател" (жаргон от англ. "двигател").

Платформата е предназначена за създаване на визуализации, презентации, онлайн магазини, игри и други „богати“ уеб приложения.

Рамката Blend4Web има тясна интеграция с пакета за моделиране и анимация Blender 3D (оттук и името). Показването на съдържанието се извършва посредством WebGL и други браузърни технологии без използване на приставки.

Технически Blend4Web е софтуерна библиотека, която се свързва с уеб страница, добавка (добавка) към програмата Blender и инструменти за отстраняване на грешки и оптимизация.

Двигателят е отделна част от програмния код, използван от външни приложения за реализиране на необходимата им функционалност.

Видове двигатели: двигател на сайт, двигател за блогове, двигател на онлайн магазин, wiki двигател, търсачка, двигател за игри и др. Икономическият смисъл на софтуерните двигатели е повторното използване на същата функционалност. Например, използвайки един или друг двигател, разработчиците могат да създават онлайн магазини или игри относително евтино.

Графичен двигател, 3D двигател¶

Графичният механизъм изпълнява специализирани функции за показване на графики. Той е междинна връзка между:

  • част от приложението на високо ниво (логика на играта, бизнес логика) и
  • системна част от ниско ниво (например графичната библиотека WebGL и основните драйвери).

Какво е WebGL¶

WebGL (Web Graphics Library, т.е. графична библиотека за използване в уеб приложения) е една от модерните браузърни технологии, която ви позволява да създавате триизмерни графични уеб приложения. С други думи, WebGL е „3D в браузъра“.

Поддръжка на WebGL в браузърите¶

В момента технологията WebGL се поддържа до известна степен във всички браузъри.

Мобилни платформи¶

  • Android
  • BlackBerry
  • Firefox OS
  • iOS 8
  • OS Sailfish
  • Тизен
  • Ubuntu Touch

Повече подробности за поддръжката на WebGL са описани в съответния раздел на глава "Проблеми и решения".

Предимства на WebGL¶

  • работи в браузъри, без да инсталира допълнителни програми (плъгини)
  • междуплатформена, проектирана да работи във всички стационарни и мобилни системи
  • е отворен стандарт, не изисква лицензионни такси
  • поддържа се от водещи играчи на ИТ пазара (Google, Apple, Microsoft, Nvidia, Samsung, Adobe и др.)
  • базиран на познатата технология OpenGL
  • интегрира се с други браузърни технологии

Какво е Blender¶

Blender е популярна безплатна програма за 3D моделиране и анимация с отворен код. Модели и сцени, подготвени в програмата, могат да бъдат показани, например, с помощта на 3D механизъм на страница на уебсайт.

3D моделиране¶

Създаването на графични ресурси изисква обучени специалисти - 3D художници.

Типичният работен поток може да се състои от следните стъпки:

  • избор на снимки и/или създаване на концепция и скици („отпред“ - „отстрани“ - „отгоре“) на бъдещ модел или сцена
  • моделиране - създава се триизмерен модел, състоящ се от полигони (полигони)
  • картографиране на текстури - върху модела се създава маркировка за последващо налагане на текстури (плоски изображения)
  • текстуриране - текстурите се прилагат към 3D модела
  • избор на материали - присвояване на материали на различни части от модела и настройването им (например дървена врата с метална дръжка)
  • такелаж (от английски rigging, т.е. "такелаж") - контролни елементи ("кости" на "скелета") са прикрепени към модела с цел по-нататъшна анимация
  • анимация - моделът се задейства, за да визуализира действия (например за герои)
  • експортиране - извършва се на всеки етап, за да се покаже 3D моделът в окончателния му вид, например на уеб страница

Освен това в процеса на създаване на 3D модели често се използват техники за повишаване на реализма, които изискват отделни етапи:

  • създаване на високополигонен модел - създава се подробна версия на модела
  • Нормална карта за печене - детайли от високополигонния модел се прехвърлят към основния модел като специална текстура (нормална карта)
  • създаване на карта за отражение - на различните части на модела се приписва различен цвят и степен на отражение на светлината
  • карти на средата за печене - изпълнява се с цел реализиране на ефекта на отражение на околната среда върху повърхността на модела
  • настройка на камерата и светлините на сцената
  • задаване на параметри на физическата симулация - частици, плат

Времето, необходимо за изработване на 3D модели и анимации, зависи от тяхната сложност и необходимо качество и може да варира от 1-2 дни (например игрален елемент) до 1-2 седмици (например подробен модел на самолет) и дори няколко месеца (реалистични герои с комплекти дрехи, коса, лица, с анимация и регулиране на пропорциите на фигурата).

Браузърни технологии¶

Сред обещаващите функции, внедрени в браузърите, използвани в Blend4Web, са следните технологии:

  • 3D графика, WebGL
  • Въведен масив
  • Контрол на времето за анимации, базирани на скриптове
  • 2D графика, HTML платно 2D контекст
  • обработка на звука, Web Audio API
  • зареждане на двоични данни, XMLHttpRequest Ниво 2
  • режим на цял екран, цял екран
  • улавяне на курсора на мишката, заключване на показалеца
  • многонишкови изчисления, уеб работници
  • ориентация и движение на мобилни устройства, Ориентация на устройства

Други обещаващи технологии:

  • векторна графика, мащабируема векторна графика (SVG)
  • защитен достъп до файлове, API на файлове, API на файлове: директории и система
  • поточна връзка между браузъри, WebRTC
  • постоянна мрежова връзка, WebSocket API
  • игрови конзоли, Gamepad

Интерактивна графика¶

Терминът "интерактивен", когато се прилага към компютърна графика, означава, че потребителят има способността да взаимодейства с постоянно променящо се изображение. Например потребителят може да променя посоката на поглед в 3D сцена, да премества обекти, да инициира анимация и да извършва други действия, често свързани с компютърни игри.

Графичната интерактивност се постига чрез чести промени на изображението, така че действието на потребителя (например преместване на курсора или натискане на бутон) в интервалите между кадрите води до промяна в изображението в следващия кадър. Изображенията трябва да се сменят толкова често, че човешкото око не може да ги разпознае индивидуално (по-бързо от 30 кадъра в секунда).

Сроден термин е също „графика в реално време“ или „рендиране в реално време“ (от английското рендиране, т.е. „дисплей“).

Видеокарти и драйвери¶

Основните производители на графични процесори (техните марки са посочени в скоби), за настолни компютри - Nvidia (GeForce, Quadro), AMD (Radeon), Intel (HD), за мобилни устройства - ARM (Мали), PowerVR (SGX), Nvidia (Tegra), Qualcomm (Adreno).

Програмите имат достъп до ресурсите на GPU чрез посредническа програма, наречена драйвер. Важно условие за правилната работа на интерактивните графични програми е наличието на най-новите драйвери в системата. Драйверите могат да бъдат инсталирани (или актуализирани) чрез изтегляне от уебсайтовете на съответните производители на графични процесори. Прочетете повече в WebGL грешка при инициализация .