Разработка сайта для Вашего бизнеса. Веб дизайн. Дизайн логотипа, фирменного стиля, рекламная фотография . Комплексный рекламный креатив.

Ralex. We do the work.
На рынке с 1999го года. Средняя ценовая категория. Ориентация на эффективность решений.
Ознакомтесь с нашим портфолио
Узнайте больше о услугах
Свяжитесь с нами:
E-mail: [email protected]
Tel: (044) 587 - 84 - 78
Custom web design & дизайн и разработка сайта "под ключ"
Креативный, эффективный дизайн. Система управления сайтом (СУС).
Custom flexible разработка систем электронной коммерции
Система e-commerce разрабатывается под индивидуальные потребности. Гибкая функциональность.
Search Engine Optimzation & оптимизация под поисковые системы (SEO)
Постоянная оптимизация и мониторинг сайта в поисковых системах. Достигаем результата быстро и эффективно
Custom logo design & дизайн логотипа и фирменного стиля
Многолетний опыт. Огромное портфолио. Уникальное предложение и цена.
профессиональная рекламная фотография
креативно, смело, качественно
Custom logo design & рекламный креатив. дизайн рекламы
Многолетний опыт. Огромное портфолио. Уникальное предложение и цена.

Розробка гри для веб і мобільних пристроїв на Unreal Engine 4 - поради євангеліста Epic Games

  1. Про важливість мобільної платформи
  2. специфіка рендеру
  3. Особливості розробки під різні платформи
  4. Особливості розробки для web (HTML5)
  5. Плани на майбутнє

Наша взаимовыгодная связь https://banwar.org/

У березні цього року компанія Epic Games анонсувала на Games Developers Conference ряд нових фіч Unreal Engine і традиційно провела кілька доповідей. У цій статті мені хотілося б приділити особливу увагу одному з них, а саме презентації керівника команди розробки платформи Джоша Адамса (Josh Adams) « Unreal Wherever You Go », Присвяченій мобільного та веб-розробки.

Тема актуальна як ніколи, Unreal Engine 4 (UE4) щосили використовується в розробці для iOS і Android в midcore-жанрі, а багато студій розглядають UE4 для веб-розробки. Зокрема, це стосується мультиплатформових проектів.

після оголошення про безкоштовну моделі поширення UE4 навколо технології та методів її застосування в професійному середовищі виникло багато питань. Матеріал підготовлений на основі даних з презентації на Games Developers Conference і доповнений деякими авторськими міркуваннями. Сподіваюся, він зможе відповісти на більшу частину ваших питань.

Про важливість мобільної платформи

Сегмент мобільних ігор заробив третину всіх грошей в рамках ігрової індустрії в минулому році і продовжує рости. Everything goes mobile. Зростають обсяги, росте продуктивність пристроїв, з ростом продуктивності розширюються можливості. Це дозволяє використовувати переваги Unreal Engine в розробці по максимуму, як з точки зору високоякісної графіки, так і з точки зору виробництва.

UE4 дозволяє будувати розробку проектів високої якості невеликою групою розробників за рахунок потужного інструментарію (зокрема, візуального скріптованія допомогою Blueprint), відкритого вихідного коду і постійного зростання ком'юніті.

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

специфіка рендеру

  • На мобільних пристроях використовується так званий форвард-рендеринг (forward render) або пряма візуалізація. Його головна перевага - це найпростіший і легко реалізується алгоритм візуалізації. Програма візуалізує тільки те, що бачить віртуальна камера в даний момент, тому прорахунок відбувається швидко і займає мінімум пам'яті.
  • Проводити стрес-тести краще на ранніх стадіях розробки - при візуалізації сцен зі складними шейдерами і освітленням продуктивність може різко падати. Пост-процеси в мобільних системах також значно спрощені на увазі можливих обмежень продуктивності.
  • Матеріали при цьому підтримують PBR (Physically Based Rendering) і шейдинг, для їх складання використовується той же нодів редактор. У порівнянні з Unreal Engine 3 матеріали в Unreal Engine 4 не мають спеціальної мобільної гілки. Однак при створенні матеріалів необхідно тримати в голові той факт, що GL ES2 має ряд обмежень, які потрібно враховувати при їх побудові.
  • UE4 використовує багатоплатформений транслятор стандарту HLSL, який дозволяє транслювати шейдера в GLSL або Metal SL. На сьогоднішній день стандартом є OpenGL ES2, але вже доступний OpenGL ES3.1, який розширює стандарт ES2 і робить його значно цікавіше. Також існує відома проблема, пов'язана з тим, що програми, засновані на системі ES, сильно навантажують центральний процесор, але тепер у нас є Metal, який переносить основне навантаження на GPU.

Також існує відома проблема, пов'язана з тим, що програми, засновані на системі ES, сильно навантажують центральний процесор, але тепер у нас є Metal, який переносить основне навантаження на GPU

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

  1. LDR (iPhone 4) - освітлення і пост-процеси не використовуються, але при цьому зберігається повний доступ до редактора матеріалів.
  2. Basic (iPhone 4S) - можна використовувати статичні джерела світла і деякі пост-процеси.
  3. HDR (iPhone5S) - обчислення кольору і освітленості відбуваються за допомогою чисел з плаваючою точкою. Додалися тіні, якість яких прораховується в залежності від відстані до камери.
  4. Desktop - рендеринг з підтримкою статичного і динамічного освітлення і фізично коректного шейдинга.

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

У профілі пристроїв можна зберігати налаштування рендера під кожен гаджет окремо або ж під клас пристроїв з подібними параметрами. Для iOS задається профіль під кожен пристрій. Для Android профілі створюються за швидкістю обробки тайлів і / або за типом графічного процесора.

  • Загальний принцип створення профілю.
  • Завдання загальних параметрів рендера.
  • Налаштування параметрів для всіх мобільних пристроїв.
  • Додавання параметрів, характерних для всіх пристроїв кожної платформи.
  • На основі базової конфігурації iOS-платформи додаються параметри для кожного iOS-пристрої.
  • На основі базової конфігурації Android-платформи створюються профілі для низького, середнього і високого якості.
  • Додавання параметрів для конкретного графічного процесора.

Само собою, розробка під iOS і Android мають свої особливості.

Особливості розробки під різні платформи

Говорячи про iOS, ми маємо на увазі в деякому сенсі «просту» платформу, навіть незважаючи на складності з системами Provision-сертифікатів і електронного підпису. Для більш зручної роботи з цими системами в UE 4.7 була додана можливість бачити список всіх зареєстрованих сертифікатів і підписів розробника.

Проекти для iOS можна збирати як на комп'ютерах з Mac OS, так і на Windows. Само собою, в останніх поколіннях пристроїв від Apple додана нова графічна система Metal, яка дозволяє підняти графіку на зовсім новий рівень. Говорячи про роботу з Metal, в голові варто тримати наступне:

  • Використовує простіший менеджер ресурсів.
  • Підтримує нову компресію текстур ASTC (Adaptive Scalable Texture Compression), яка дозволяє отримати файли текстур невеликого розміру, але з високою роздільною здатністю (вимагає процесор А8 і вище).
  • Додана підтримка режиму паралельного рендеринга, яка поки ще не підтримується в Unreal Engine 4, але в найближчих версіях підтримка з'явиться.
  • Має дуже гнучку систему налагодження і перевірки в Xcode: перегляд ресурсів, перекомпіляція шейдеров «на льоту», профілювання шейдеров і багато іншого. Для підтримки Metal потрібно набір предкомпіленних шейдеров, тому скомпілювати проект поки можна тільки на Mac OS.
  • Все ще вимагає переходу на проміжні мови програмування для остаточного складання.

З Android все набагато складніше через проблеми фрагментації за наступними категоріями:

  • CPU - ARM 32, ARM 64, x86, x64;
  • GPU - Adreno, PowerVR, Tegra, Mali, які, в свою чергу, використовують різні компресії текстур: ATITC, PVRTC, DXT, ETC1, ETC2, ASTC;
  • версії ОС - 2.3 → 5.1.1;
  • варіанти ОС - Android, Amazon і так далі.

Це призводить до наступних проблем сумісності:

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

Як же вирішити проблему сумісності?

  • Позбутися від найпроблемніших типів пристроїв. Залишити 10 базових пристроїв з різними центральними і графічними процесорами. На інших пристроях перевіряти додатково. Ніколи не позбавляйтеся від застарілих пристроїв.
  • Використовувати програми для автоматизації тестування (AppThwack, TestDroid і інші). У цих програмах вже занесені профілі сотень пристроїв.
  • На даний момент в розробці знаходиться UE4 Readiness App - програма, що показує параметри пристрою. Додаток написано на Java і буде поширюватися через Google Play.
  • Додавання групи розширень GL ES3.1 - геометричний шейдер, ASTC текстури і так далі.

Також, в якості окремого зауваження, варто пам'ятати про те, що в Unreal Engine використовується дуже тонкий Java-клієнт. Іноді виникає необхідність зміни деяких початкових кодів C ++, але найчастіше цього можна уникнути.

З точки зору розміру програми для ігор, обсяг яких перевищує 50 Мб, використовуються спеціальні файли ресурсів з розширенням .obb. Amazon вимагає упаковувати всю гру в один .apk-файл, в настройках проекту перед упаковкою можна вибрати один з цих режимів. Збірка Android-версій на MacOS стала можлива з версії 4.7, збирати білд можна, не виходячи з редактора.

Особливості розробки для web (HTML5)

Найкрутіший момент полягає в тому, що в UE4 використовуються рішення без застосування плагінів - тільки JavaScript. На поточний момент використовується транслятор Emscripten, який конвертує скомпільований код С ++ в ASM.JS. Отриманий код в браузері може працювати мінімум з 50% швидкістю від базової. Без браузера (як самостійний додаток) швидкість роботи програми залежить від JavaScript-компілятора.

Розподіл пам'яті проводиться браузером, причому виділяється відразу потрібний обсяг пам'яті. Це одна з проблем сумісності різних браузерів. Браузери для 64-бітових систем можуть спокійно запускати проекти, а ось 32-бітові іноді зазнають труднощів.

Поточний графічний стандарт для HTML5 - це WebGL, який сумісний зі стандартом OpenGL ES2. Різні браузери мають різні розширення для підтримки цього стандарту. Перевага перед мобільними системами в тому, що є можливість максимально використовувати обчислювальні потужності настільної системи.

Новий стандарт WebGL 2 буде сумісний з ES3.0. В даний момент розробка триває.

Віртуальна файлова система дозволяє значно збільшити швидкість роботи з файлами, але вимагає дуже великої кількості оперативної пам'яті. Emterpreter - це транслятор, який дозволяє переводити з коду C ++ в JavaScript і назад. Він також здатний інтерпретувати асинхронний код, як синхронний. Не потрібно предзагрузкі контенту. Підтримка цього розширення поки тільки анонсована і знаходиться в розробці.

Проекти на HTML5 працюють практично у всіх браузерах, але потрібні додаткові сесії тестування, так як різні браузери мають різні розширення і по-різному використовують пам'ять.

32-бітові браузери не можуть виділяти великий обсяг пам'яті, тому потрібно використовувати в основному 64-бітові версії. Ігри для HTML5 користуються великим попитом, і впровадження Emterpreter допоможе мінімізувати багато незручності.

Плани на майбутнє

Unreal Engine 4 продовжує активно розвиватися на мобільні та веб-платформи, вже найближчим часом вийде версія 4.8, будуть заявлені нові фічі в цьому напрямку, триває робота по підтримці Metal MRT, оптимізація, додавання нових функцій.

Якщо ви розглядаєте Unreal Engine 4 як технологію для розробки свого наступного проекту, але у вас є які-небудь технічні питання, задавайте їх тут . Якщо у вас є які-небудь питання загального характеру, ви також можете написати мені за адресою [email protected] .

Щоб написати колонку для ЦП, ознайомтеся з вимогами до опублікованими матеріалами.

Як же вирішити проблему сумісності?
Категории
  • Биология
  • Математика
  • Краеведению
  • Лечебная
  • Наука
  • Физике
  • Природоведение
  • Информатика
  • Новости

  • Новости
    https://banwar.org/
    Наша взаимовыгодная связь https://banwar.org/. Запустив новый сайт, "Пари Матч" обещает своим клиентам незабываемый опыт и возможность выиграть крупные суммы.


    Наши клиенты
    Клиенты

    Быстрая связь

    Тел.: (044) 587-84-78
    E-mail: [email protected]

    Имя:
    E-mail:
    Телефон:
    Вопрос\Комментарий: