Подробности об Unreal Engine 3 для мобильной платформы Apple

Мастерам из Epic удалось воплотить большинство функций движка для игр на мобильных платформах Apple последнего поколения.

Работа Unreal Engine 3 уже демонстрировалась на iPhone, но подробностей о ходе портирования пока не поступало. Теперь ведущий программист направления игровых консолей Epic Games, Josh Adams, рассказал подробности о портировании Unreal Engine 3 на мобильные платформы Apple. Некоторые интересные факты:

Unreal logo

  • Производительность демо Unreal Tournament 3 на устройствах Apple достигает 25-30 FPS.
  • Unreal Engine 3 для платформы Apple использует OpenGL ES 2.0 для рендеринга. Это означает, что поддерживаться будут только iPhone 3GS, iPad и будущие модели. Предыдущее поколение устройств Apple поддерживало лишь OpenGL ES 1.0, без функций шейдеров.
  • Unreal Engine 3 также будет поддерживать Linux, MacOS и платформу NVIDIA Tegra 2.
  • Портирование UE3 на мобильные устройства — сложная задача: ядро движка состоит более чем из двух миллионов строк кода, что выливается в размер исполняемого файла в районе 16 Мб. На 90 % код движка платформонезависимый.
  • Все основные функции движка, связанные с геймплеем, физикой и даже форматами файлов полностью поддерживаются. Приложения для iPhone можно будет разрабатывать в привычных Windows-инструментах, включая UE Editor. Адаптации подвергся лишь Render Hardware Interface (RHI) — «прослойка» между рендером движка и API платформы.
  • В движок введён ряд приёмов для адаптации сцены к ограничениям мобильных устройств. Так, заданные статичные и динамические источники освещения превращаются в один-два усреднённых источника, снижая стоимость рендеринга освещения. Сложные шейдеры материалов (до 20 на материал) предпросчитываются и сохраняются в текстуру, за счёт маленького разрешения экрана результат почти неотличим.
  • Управление с сенсорного экрана реализовано через концепцию буферов ввода для движений, с привязанной к очерёдности кадров обработкой, в то время как сигнал с датчика наклона также обрабатывается по интервалу, но без буферизации. Планировалось использовать акселерометр iPhone для улучшения точности поворотов, но работа с данной функцией оказалась слишком накладной в плане затрат времени центрального процессора.
  • Существенным недостатком OpenGL ES 2.0 является отсутствие функций раннего отсечения невидимых поверхностей — из-за этого размеры игровых уровней придётся уменьшать.
  • Пока что Epic не получила доступа к технологиям iPad и не располагает данными о его производительности, но поддержка iPad стоит в планах развития UE3.
  • На платформах Apple Unreal Engine 3 ограничен в большей степени CPU, чем графической подсистемой.
  • От ответа на вопрос о поддержке Android Josh Adams уклонился.
Gamerlive.tv - Unreal Engine on iPhone
Gamerlive.tv - Unreal Engine on iPhone