26/08/2019

Об обучении на предприятиях c помощью Unreal Engine

Уже давно ни для кого не секрет, что возможности Unreal Engine можно использовать не только в игровой индустрии, но и в медиа, строительстве, медицине и проектировании. Цифровизация становится все популярнее, сейчас ее осваивают даже государственные предприятия. Это неудивительно: курс на внедрение и развитие новых технологий в наше время в почете. 

Около полугода назад заняться новым направлением в сфере цифровизации решили и в российском проектном институте ООО "Мосэнергопроект". Возглавляет его Евгений Игоревич Булочка — архитектор по образованию, перешедший на BIM-проектирование. Молодому талантливому специалисту удалось убедить начальство, что сейчас цифровизация очень актуальна — мир движется в эпоху Четвертой промышленной революции, той самой "Индустрии 4.0" — и что промышленность в этом должна быть заинтересована в числе первых. Подобная перспектива развития привлекла руководство, и в МЭПе открылся специальный отдел цифровизации, который Евгений и возглавил.

Основные задачи

Одно из главных направлений работы отдела цифровизации в МЭПе — разработка программ на Unreal Engine, как десктопных приложений, так и VR-устройств. Начать продвижение цифровизации с использованием технологий VR — осознанное решение, так как при наличии работающего интерактивного приложения в виртуальной реальности продукт проще продать потенциальному заказчику или оставить приятное впечатление у инвестора. Особенно, если проект красивый. Можно увидеть все своими глазами и, в каком-то смысле, — даже потрогать. 

Подобные направления не инновационны: VR существует во многих отраслях промышленности. Проекты в основном делаются с применением пакетов, поддерживающих PLM-системы, в пример можно привести Teamcenter или французский Dassault Systèmes. Как правило, графика в этом случае останавливается на уровне "нулевых" годов. 

Евгений Булочка объясняет, почему так происходит: "Импорт из стадии BiM-проектирования, который делают проектировщики, архитекторы, строители происходит быстрее из стадии BIM-проекта, и напрямую импортируется в этот движок. Получается, что им не нужно ничего адаптировать, ничего улучшать, оно остается все на этом уровне. Мы пошли другим путем. Мы решили, что есть такое понятие как красота, даже в промышленности, причем особенная, специфическая. Если мы сможем достичь максимальной реалистичности, максимального погружения в мир, в котором будет находиться пользователь — это будет дополнительным преимуществом именно в сторону наших разработок".

По словам Евгения, такой метод действительно приносит свои плоды. При демонстрации клиентам происходит так называемый wow-эффект, так как при тестировании программы ощущается реальное погружение.

Но перед тем как создавать подобные приложения, нужно было выбрать для них основу. Отдел цифровизации МЭП остановил свой выбор на Unreal Engine. Несмотря на то, что существуют альтернативы в виде Unity и отечественных разработок, специалистов по UE и тех, кто действительно умеет работать с движком найти гораздо легче.

Так как отдел цифровизации уже готов выходить со своими проектами на большой рынок, можно рассказать об их наработках. Представляя собой VR-симулятор, программы нацелены, в первую очередь, на погружение в профессию для новопришедших, к примеру, на энергостанцию сотрудников. В приложении можно проходить различные тренинги, обучение и даже экзаменацию. При этом не страдает производительность: не нужно останавливать станцию и отрываться от рабочих процессов. В дальнейшей перспективе будет доступна функция "прямого эфира", то есть наблюдение за объектом в реальном времени, правда, только в десктопной версии из-за ограниченных технических возможностей VR. Это объясняется тем, что для эксплуатирующего персонала эта история будет не очень удобна. Нельзя забывать и про побочные эффекты VR, такие как тошнота и головокружение. Именно поэтому VR-версия подразумевает сравнительно недолгие сессии. 

Как создаются виртуальные производства

В процессе разработки нередко встречаются сложности, связанные с моделированием и левел-дизайном в 3D Max еще до переноса на Unreal. Особенно при работе с так называемым "облаком точек". В здание приносят лазерный сканер, сканируют объект — на выходе получается копия оболочки: внешний контур объекта. Сейчас разработчики нашли выход, и внедряют вариант решения в работу.

Программа Houdini, которая работает с Unreal, позволяет решить проблемы процедурной генерации. Ввиду того, что в проекте бывает очень много повторяющихся элементов, благодаря Houdini можно сразу задать параметры и перевести в Unreal Engine, а не делать все вручную. 

Обработка в Unreal также будет занимать какое-то время. Например, теоретически можно сделать, чтобы трубы строились по сплайнам, чтобы их размещение было аналогичным реальному, и не пришлось заново моделировать, а протягивать какие-то элементы и повторять. Для таких задач и будет использоваться пакет Houdini.

С точки зрения моделирования, промышленные объекты содержат очень много деталей. Самое сложная задача заключается в оптимизации. Количество объектов, полигонов, текстур — весьма ограниченное, чтобы поддерживать баланс FPS и производительность на должном уровне даже на не самых мощных компьютерах. Цели достигаются благодаря low-poly объектам, преобразованными из высокополигональных, также большую роль играет наложение высокодетализированных текстур. То есть реалистичность достигается за счет текстур, а не за счет полигонов.

В некоторых проектах большинство моделей моделей взяты из BIM-проектов. Как уже упоминалось ранее, BIM-проектированием занимается отдельное направление "Мосэнергопроекта". Модели, которые разрабатывают специалисты для смет, отличаются тем, что все элементы окружения, интерьеры, экстерьеры разбиты на несколько мешей. С точки зрения движка — это огромное количество дроуколлов (draw call), то есть запросов отрисовки. На графическую часть падает плотность сетки, то есть, чем детальнее модель, тем больше она занимает места. Получается, что нужно одновременно сделать небольшое количество моделей и при этом так, чтобы у них была низкая детализация. Разработчики берут BIM-овские модели и обрисовывают их заново. Для чего это нужно? Обычная стена по меркам Unreal Engine содержит восемь вершин, то есть небольшое количество вычислений. Но в BIM разрабатывают блоками. Каждый блок — объем какого-то ресурса или материала. Поэтому и получается, что одна стена может состоять из 20 блоков или вообще из тысячи… 

Изначальная цель была экспортировать модели из BIM через Datasmith (плагин для Unreal, для архитектурного дизайна). При таком импорте получается 27 тысяч объектов. Это огромное количество дроуколлов. Технология VR требовательна к кадрам в секунду из-за постоянного рендера на оба глаза. При том что для VR рекомендуется 90 FPS, получается, что основная задача — увеличить производительность в 2 раза. 

Александр Дымов, главный специалист отдела цифровизации, ответственный за разработку на Unreal Engine, комментирует сложившуюся ситуацию: "У меня был опыт участия в разработке VR проекта с высокодетализированным окружением. Ближе к релизу проекта, т.е. когда мы были ограничены во времени, у нас было 35 FPS с просадками до 15. После оптимизации нам удалось улучшить результаты до 40 FPS с просадками до 30. При рекомендованных 90 FPS. 

Учитывая прошлый опыт, сейчас мы стараемся оптимизировать по ходу разработки, а не в конце. Если модели являются антуражем — мы их упрощаем, если нет — оптимизируем. В одном из примеров, есть насос с которым пользователь должен активно взаимодействовать вблизи. Поэтому насос сначала сделан в хайполи, затем на основе хайполи модели мы сделали лоуполи, а все недостающие детали запекли в карту нормалей — специальную текстуру, которая за счет материала может создавать иллюзию большей детализации чем есть по факту. Такая оптимизация позволяет модели потреблять меньше ресурсов и выглядеть реалистично. Меньше ресурсов — больше FPS.

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

Преимущество Unreal как раз в том, что в нем не нужно писать свои шейдеры и делать свое освещение: он все это хорошо умеет делать из коробки, нужно только немного контента."

В плане интерактивности создатели приложения будут стараться выложиться по максимуму. Если смотреть на сценарии из туториалов, они все подразумевают взаимодействие. Приходя, скажем, на виртуальную электроподстанцию, сотрудник надевает каску, перчатки, берет фонарик — все это обязательные требования к обучающим программам. Человек должен в определенном порядке запомнить все необходимые действия. Если он что-то забыл, программа просто не пустит его дальше. Это не "реализм" в видеоиграх, а неотъемлемая часть рабочего процесса.

Технология VR также навязывает свои правила. Так, например, интерфейс в VR по техническим причинам выводится на один глаз, в то время как картинка рендерится на оба. Поэтому в 3D-пространстве его удобнее делать, и все интерфейсы сделаны в 3D. Интерактивность так или иначе будет присутствовать, когда нужно будет открыть документ, или при взаимодействии с объектами.

Евгений Булочка: "Так или иначе, когда человек надевает VR-шлем, он все равно пытается все потрогать, даже если там ничего нет. Сколько люди не приходили тестировать, все пытаются потрогать, хотя им объясняешь, что это бессмысленно. В любом случае, вся интерактивность зависит непосредственно от сценария заказчика. Нет смысла уходить в максимальную реалистичность, если это не продиктовано условиями программы обучения. В противном случае, это трата времени и разработчиков, и клиента. Это продиктовано тем, что люди идут учиться, а не на развлекательный аттракцион. 

Часто реализуют телепортации: это объясняется минимальным снижением комфорта, не вызывая укачивания, своего рода определенная условность. И приходится жертвовать реалистичностью в угоду удобствам. В случае с перемещением двери — все дергают за ручку, если видят ее на двери, то есть, в идеале это хотелось бы сделать, но все зависит от сроков и задач".

В программе может одновременно участвовать несколько человек. Подобное внедрение многопользовательских сцен зависит от специфики сценария программы. На предприятиях часто работает несколько сотрудников в связке, так что внедрить подобное — не проблема.

Что касается "железа": разработчики сами пишут программы на компьютерах средней мощности с GeForce 1080Ti. Но факт в том, что воспроизводить эту историю можно и на слабых компьютерах. Проекты разбиты на две части: VR и десктоп. На десктопной версии несколько иной функционал, к примеру, ознакомиться с документацией по объектам. По понятным причинам, в VR долго с документами работать не получится из-за ограничения сессии. По графике она не отличается, просто немного другое управление. Плюс десктопной версии в том, что она может запуститься на “средненьком” ноутбуке. Но здесь ситуация следующая: системные требования во многом зависят от желаний и возможностей заказчика. Разработка носит коммерческий характер, поэтому все зависит от того, что покупатель может себе позволить. Если клиент хочет максимальную детализацию, разработчикам нужно все это "ужимать". 

Александр Дымов добавляет: "Мы не можем указывать, как лучше сделать, можем только рекомендовать. Но если по каким-то причинам требуется детализация, нам нужно с этим поработать подольше. Над теми же сценами: если нужно быстро добавить сцену и она небольшая, можно “закинуть” высокополигональную модель без обработки в лоу-поли. Если имеем доступ к железу заказчика, мы проверяем работоспособность на нем. Все работает, никаких просадок FPS нет — значит, все нормально. То есть, если программа должна подгоняться конкретно под определенный компьютер, под эти требования мы и ориентируемся. Если у клиента будет какой-то обучающий зал с мощными машинами, естественно, сроки будут меньше. Может показаться что сделать простенькую сценку для слабого компьютера проще чем навороченную для мощного, но на деле это не так: на мощном компьютере мы можем меньше думать о производительности и работать быстрее, но вот будучи ограниченными системными требованиями слабого компьютера — мы вынуждены много времени тратить на оптимизацию моделей, материалов и эффектов."

Учебные VR-программы разработаны под HTC Vive. Разработчики считают эту платформу наиболее подходящей, с учетом того, что большинство программ основано на перемещениях в пространстве, изучении и проверках. Осуществляется поддержка стандартных контроллеров; для взаимодействия с объектами этого вполне достаточно, все-таки это не "пособие для хирургов".

Дополнительные сложности и дальнейшие перспективы

С какими еще нюансами сталкивается отдел цифровизации в процессе продвижения своего детища? Евгений Булочка подчеркивает, что найти подходящих кандидатов в штат — острая проблема. "На различных конференциях и мероприятиях, аналогичных Unreal Career Day, выясняется, что привлечь как работодатель подобная сфера способна немногих. В первую очередь, из-за того, что это — не геймдев, как такового творчества тут нет". С другой стороны, молодых людей может отпугнуть проектный институт: несмотря на комфортный график и соцпакеты, работа в подобной организации накладывает определенные обязательства. 

Еще одна проблема — доказать, что эти проекты способны упростить многие процессы. По понятным причинам возникают проблемы с людьми "старой закалки". Очень сложно им объяснить, что так на обучение тратится гораздо меньше ресурсов. К тому же, это значительно снижает возможные риски на предприятиях, если речь идет о дорогом или опасном оборудовании. 

Александр Дымов: "Сложно объяснить, зачем нужен калькулятор, когда в столбик тоже можно считать. Подобная проблема актуальна не только для компаний, которыми управляют люди в возрасте, но и где руководят люди гораздо моложе. Бегут от новых технологий по банальной причине: боятся переучиваться."

В перспективе планов развития у отдела цифровизации "Мосэнергопроекта" очень много. Планируется разработка своего софта, возможно, основываясь на движке Unreal Engine как таковом; обдумывается создание программы, которая облегчит реконструкцию существующих объектов. Приложение, которое будет помогать при проектировании процесса реконструкции — внутри здания можно будет ходить в очках и размещать необходимое оборудование. Предназначена вся эта история больше для технологов в различных сферах промышленности. 

Впрочем, Евгений Булочка не исключает, что движок для программы может измениться. В дальнейшей перспективе планируется создание приложений дополненной реальности AR. Их планируется использовать в качестве программ дополнительного обучения, инструкций, эксплуатации оборудования. Также запланировано открытие своего подразделения НИОКР (научно-исследовательских и опытно-конструкторских работ). Планируется привлечение ученых, сотрудничество с ведущими вузами страны в плане исследований, которые будут помогать разрабатывать сложные математические модели и, возможно, даже программное обеспечение. Разумеется, это пока только цели и планы для дальнейшего продвижения. На данный момент, направление цифровизации только начало выходить из закрытого помещения и заявлять о себе. Подразделение открыто для всех предложений и задач, вплоть до разработки игр. На данном этапе рассматриваются все предложения.

Будущее VR — за промышленностью?

В заключение хотелось узнать у сотрудников мнение о VR в целом. Почему виртуальная реальность в видеоиграх пока еще в заторможенном состоянии, а в бизнесе начинает все больше набирать обороты? 

Евгений Булочка: "С моей точки зрения, VR в играх не развивается, так как слабое взаимодействие с другими игроками. Плюс, опять же, ограниченность в сессиях. Что касается графики — зависит во многом от того, как делать. Если разработчик изначально относится к этому наплевательски, графика соответственно такая и будет. При необходимости, добиться реалистичной графики можно. Я думаю, что мы сейчас живем в век огромной социальной активности, соответственно, если ваше приложение не поддерживает многопользовательский режим в самом широком понятии этого слова, как раньше в MMORPG, например… Сейчас, если эту историю поселить в VR, в чем можно залипать часами вместе с тысячами людей, это однозначно будет пользоваться спросом. Как в VRChat."

Александр Дымов: "Я не думаю, что дело в мультиплеере, просто большинство разработчиков берутся за новую технологию и рассчитывают на wow-эффект. Они его сами испытывают. А в играх, я все-таки считаю, что самое главное — геймплей. Когда делают ставку не на геймплей, а на тот самый вау-эффект, получается, что в игре мало функционала. Хотя, сама возможность напрямую воздействовать с объектами, именно руками в пространстве, а не щелчками мыши или пробелом, открывает на самом деле очень большие перспективы."

Также нужно учитывать нюансы в подходе к VR. В случае обучения это реально работает, так как одной теории, как правило, недостаточно. Симуляторы и программы обучения ускоряют освоение профессии, и при выходе на настоящее производство, человек уже будет знать, где что находится и как с этим работать. Гораздо эффективнее, нежели ему будут постоянно это говорить в теории, а он не будет понимать, о чем вообще речь. 

Согласно недавней статье в "Коммерсантъ", через четыре года в России прогнозируется рост рынка технологий в области VR/AR технологий в 6 раз. Будущее у подобных проектов однозначно есть, просто их необходимость нужно донести до людей. Программы цифрового развития в стране сейчас поощряются и уже многие госкомпании работают в этой отрасли, так что еще несколько лет — и VR/AR перестанут воспринимать как диковинку, а когда-нибудь это и вовсе станет неотъемлемой частью жизни и обучения.

Текст: Леон Балбери

Recent Posts

Первое руководство для начинающих по созданию игр на UE 4 на русском языке

16/09/2019
Издательство БОМБОРА представляет новую книгу по проектированию игр на Unreal Engine 4 под Windows, Mac, PS4, Xbox One, iOS, Android и Linux.

Летний ue4jam на itch.io

16/09/2019
С 8 по 14 августа на площадке itch.io проходил 2019 Summer #ue4jam. Мы попросили четыре команды рассказать о своем участии. Среди них — вышедшая в финал!

Трассировка лучей в реальном времени в UE4 - Часть 1: эволюция

09/09/2019
Посмотрим на путь от прототипа до доступной фичи, на ее эволюцию, и на то, с чем еще предстоит столкнуться при ее использовании.