Создание escape-последовательности КиппиThe Making of Kippy's Escape

Киппи робот пробуждается, чтобы обнаружить, что на самом острове он был потерян.Kippy the robot wakes up to find itself stranded on an island. Вы можете приступить к решению проблем, чтобы помочь ему найти путь к его Rocket поставке!It’s up to you to put on your problem-solving hat to help it find a path back to its rocket ship! Поправляйся на HoloLens 2 и скачайте приложение из Microsoft Store или скопируйте репозиторий из GitHub и скачайте Киппи Home.Strap on your HoloLens 2 and download the app from the Microsoft Store or clone the repository from GitHub and get Kippy home safe!

Важно!

Убедитесь, что используется нереалный механизм 4,25 или более поздней версии , если вы создаете escape-последовательность Киппи из репозитория GitHub.Make sure you're using Unreal Engine 4.25 or later if you're building Kippy's Escape from the GitHub repository.

Escape-Киппи — это пример приложения HoloLens с открытым кодом, созданного с помощью нереальных средств для работы с ядром 4 и смешанной реальности.Kippy’s Escape is an open-source HoloLens 2 sample app built with Unreal Engine 4 and Mixed Reality UX Tools for Unreal. В этой записи мы рассмотрим наш процесс от первых принципов и визуальной разработки до реализации и оптимизации работы.In this post, we’ll walk you through our process from first principles and visual design to implementing and optimizing the experience. Дополнительные сведения о разработке приложений смешанной реальности с помощью средств МРТК UX можно найти в статье Обзор нереальных развертываний.You can find more information on developing Mixed Reality applications with MRTK UX Tools in the Unreal development overview.

Первые принципыFirst principles

При создании escape-последовательности для создания Киппи нашей целью было создание интерфейса, который выделит поддержку hololens 2 в нереальном механизме, возможности hololens 2 и набор средств Mixed Reality.In setting out to create Kippy’s Escape, our goal was to create an experience that would highlight Unreal Engine’s HoloLens 2 support, the HoloLens 2’s capabilities, and the Mixed Reality Toolkit. Мы хотели вдохновить разработчиков, чтобы представить, что они могли бы создать с использованием нереальных и HoloLens 2.We wanted to inspire developers to imagine what they could create with Unreal and HoloLens 2.

Мы получили три принципа работы с идентификаторами GUID: он должен быть увлекательным, интерактивным и иметь небольшое препятствие для входа.We came up with three guiding principles for the experience: that it needed to be fun, interactive, and have a low barrier to entry. Мы хотели, чтобы опыт был достаточно интуитивно понятным, даже если пользователю, не имеющему смешанной реальности, не требуется учебник.We wanted the experience to be intuitive enough that even a first-time mixed reality user won’t need a tutorial to go through it.

Разработка игрыDesigning the game

HoloLens 2 имеет доступ к функциям проектирования, которые в настоящее время не находятся в играх.The HoloLens 2 has access to design features found nowhere else in gaming today. Объекты можно передавать непосредственно или манипулировать ими, используя руки или нацеленные на отслеживание глаз.Objects can be directly pushed or manipulated using your hands or targeted with eye tracking. Эти ключевые функции находятся за несколько интересных секунд, которые мы создали в escape-последовательности Киппи.These key features are behind some of the fun moments we built out in Kippy’s Escape.

Использование уникальных признаков HoloLens 2 в качестве руководства для нашего проекта игры заключается в использовании нескольких небольших сценариев среды.Using the unique HoloLens 2 features as guidance for our game design, we scoped out a few small environment scenarios. О-ва имеет смысл, так как они могут быть скорректированы для разных значений высоты игрока и предоставляли несколько развлекательных идей.Islands made sense because they can be adjusted for different player heights, and provided some entertaining bridge ideas. Мы заносимся в тему античного Цивилизатион, которая соответствует техническим специалистам, и идеям того, что кто-то создал машинный механизм по сравнению с руинс, который использует странный объем энергии, обеспечиваемый каждым островом.We landed on the theme of ancient civilization meets sci-fi tech, with the idea that someone had built machinery over ruins harnessing a strange energy provided by each island. Все острова задают свой собственный внешний вид и сведения, которые помогли создать визуальный интерес.The islands were each given their own look and feel, a detail that helped create visual interest. Хороший баланс между моделированием и текстурированием вызовет низкую производительность при отрисовке, поэтому стилизованный вид был разработан с учетом этого.A good balance between modeling and texturing would keep draw calls low for rendering performance, so a stylized look was designed with that in mind.

На ранних этапах разработки игр проводятся некоторые первые эскизы того, как может выглядеть интерфейсEarly game design sketches Some early sketches for what the experience might look like

Прорисовка второго островка для визуализации второго островаRenderings of the second island Renderings of the second island

Чтобы обеспечить соблюдение краткого графика, мы согласились, что плавающий символ может захватывать намерение и распознавания эмоций без тщательного цикла анимации.To keep within our short production schedule, we agreed that a floating character could capture intent and emotion without rigorous animation cycles. И Итак, Киппи!And so Kippy was born! Он емотес несколько различных выражений с точки зрения своих глаз и через минималистичных вокал звуковые эффекты, чтобы помочь проигрывателю в процессе работы.It emotes a few different expressions through its eyes and through minimalistic vocal sound effects to help guide the player throughout the experience.

Киппи, показывающие различные выражения с помощью глаз

Киппи, показывающие различные выражения с помощью глазKippy showing different expressions via its eyes

Если пользователь занимает слишком много времени для решения головоломки, Киппи предоставит пользователю подсказку.

Если пользователь занимает слишком много времени для решения головоломки, Киппи предоставит пользователю подсказку.If the user takes too long to solve a puzzle, Kippy will give the user a hint

Помимо разработки символов и сред, мы внесли интересные усилия, чтобы сделать игру приятной.Beyond the character and environment design, we made a concerted effort to make the game feel fun. Отслеживание взгляда позволило нам использовать атрибуты материала и звука, которые выделили основные части игры.Eye tracking allowed us to fire off material and sound attributes, which highlighted key pieces of the game. Благодаря пространственному звучанию все эти уровни покажутся дома в окружающей обстановке проигрывателя.Spatial audio helped make the levels feel at home in the player’s surroundings. Возможность захватить объекты, кнопки и управлять ползунками — это инновационное взаимодействие с игроками.Being able to grab objects, push buttons, and manipulate sliders drives innovative player engagements. Важно убедиться в том, что эти точки соединения казалось естественным.It was important to make sure these connection points felt natural.

Конец кабеля моста подсветится, когда он приближается к рукой.

Конец кабеля моста подсветится, когда он приближается к рукой.The end of the bridge cable glows when the user’s hand approaches it

Создание механики игрBuilding the game mechanics

Escape-символы Киппи в значительной степени полагаются на компоненты средств UX смешанной реальности, чтобы играть в интерактивное взаимодействие с именами субъектов, элементами управления, манипуляторами, ползунками и кнопками.Kippy’s Escape relies heavily on Mixed Reality UX Tools components to make the game interactive - namely hand interaction actors, bounds controls, manipulators, sliders, and buttons.

Субъект взаимодействия с рукой позволяет как напрямую, так и далеко управлять голограммами.The hand interaction actor enables both direct and far manipulation of holograms. В начале escape-последовательности Киппи пользователю предоставляется возможность задать расположение игры.At the start of Kippy’s Escape, the user is given the opportunity to set the location of the game. Рука беамс, распространяющаяся с ручного компьютера пользователя, позволяет легко управлять большими голограммами, которые далеко не видны, как показано в GIF-файле ниже.Hand beams extending from the user’s palm make it easy to manipulate large holograms that are far away, as seen in the gif below.

GIF субъекта взаимодействия с рукой

Заполнитель можно перетащить и поворачивать с помощью компонента управления "границы " средств UX.The placeholder scene itself can be dragged and rotated using UX Tools’ bounds control component.

По второму острову пользователь должен выбрать драгоценные камни и поместить их в соответствующие слоты.On the second island, the user must pick up gems and place them in their matching slots. К этим драгоценным камням привязаны манипуляторы , позволяющие пользователю выбирать их и размещать.The gems have manipulators attached to them that allow the user to pick them up and place them down.

Пример манипулятора в формате GIF

Нажатая кнопка — это ключ к использованию бомбы для использования в третьем острове.A pressable button is the key to bringing up bombs for use on the third island.

Пример нажатой кнопки GIF

На четвертом острове появляется компонент Slider , активирующий окончательный мост для вызова.A slider component appears on the fourth island, triggering the final bridge to be raised.

Пример компонента Slider GIF

Оптимизация для HoloLens 2Optimizing for HoloLens 2

Благодаря любому интерфейсу, созданному для запуска на мобильном устройстве, очень важно следить за производительностью.With any experience built to run on a mobile device, keeping an eye on performance is critical. Нереал 4,25 включает значительное обновление для поддержки нескольких мобильных устройств, что значительно сокращает расходы на визуализацию и увеличивает частоту кадров.Unreal 4.25 includes a major update to support for mobile multi-view, which significantly reduces rendering overhead and boosts frame-rate. Мы рекомендуем использовать другие Рекомендуемые параметры производительности для разработки HoloLens 2 при оптимизации.We recommend checking out our other recommended performance settings for HoloLens 2 development with Unreal when you're optimizing.

Физические объекты по-прежнему остаются дорогостоящими для повышения производительности, поэтому использовались несколько разумных решений.Physics objects still remain costly for performance, so a couple clever workarounds were used. Например, третий "мост" требует использования некоторых мусором, блокирующих стаирвай.For instance, the third “bridge” requires blowing up some debris blocking the stairway. Вместо того, чтобы принудительно влиять на фишки как на физические объекты, бомбу глубокого активирует переключение, переключая статические камни для раскрытие эффекта частицы.Instead of having a force impact the stones as physics objects, the bomb detonation triggers a swap, switching the static stones for an exploding particle effect.

Оптимизированный пример для HoloLens 2 GIF

Мы также вырезаны вызовы Draw от более чем 400 до ~ 260:We also cut down our draw calls from over 400 to ~260 by:

  • Уменьшение сложности сетиReducing mesh complexity
  • Объединение сетокCombining meshes
  • Удаление некоторых из наших начальных элементов динамического освещенияRemoving some of our initial dynamic lighting elements

Хотя, вероятно, больше возможностей мы можем сделать, мы казалось, что это хороший баланс между производительностью и качеством визуальных элементов.While there’s likely more we could have done, we felt that was a good balance between performance and visual quality.

Попробуйте!Try it out!

Загрузите HoloLens 2 и Скачайте приложение из Microsoft Store или скопируйте репозиторий из GitHub и создайте приложение самостоятельно.Boot up your HoloLens 2 and download the app from the Microsoft Store, or clone the repository from GitHub and build the app yourself!

О командеAbout the team

Picture of Jack Caron Разъем КэронаJack Caron
Ведущий проектировщик игрыLead Game Designer
В настоящее время розетка работает с возможностями смешанной реальности Майкрософт, включая проекты HoloLens 2 и Алтспацевр, и ранее был разработчиком в группе платформы HoloLens.Jack currently works on Mixed Reality experiences for Microsoft, including HoloLens 2 projects and AltspaceVR, and was previously a designer on the HoloLens platform team.
Picture of Summer Wu Лето WuSummer Wu
ПроизводительProducer
Летом работает на платформе разработчиков смешанной реальности и заголовков действий, связанных с нереальными модулями группы.Summer works on the mixed reality developer platform and heads the team’s Unreal Engine related efforts.

Спасибо, что наши друзья по адресу фраместоре , чтобы помочь нам в переводе Киппи на жизнь.Special thanks to our friends at Framestore for helping us bring Kippy’s Escape to life. Благодаря разработке символов для проектирования активов, чтобы организовать взаимодействие с этим проектом, была создана сводная схема.From character development, to asset design, to game programming, their collaboration on this project was pivotal.