Внедрение Tobii Eye Tracking в инди-инди игру
Инди-инди, потому что до инди (в общепринятом понятии) ещё далеко.
Речь пойдет об интеграции Tobii Eye Tracking в игру, разрабатываемую на Unity. Здесь уже был кейс использования устройства со стороны игрока, поэтому в этой статье, я хотел бы показать опыт работы с ним со стороны разработчика.
Прежде всего, расскажу немного о проекте, над которым работаю и в котором балуюсь подобными экспериментами. Начну с трейлера.
Как можно заметить, это — ситибилдер, с возможностью участвовать в строительстве/добыче ресурсов отдельным персонажем, участвовать им в социальной жизни поселения, общаться с его представителями, читать их истории и т.п.
Мне нравится экспериментировать (сам проект — один из моих экспериментов), поэтому, когда мне подвернулась возможность интеграции потенциально интересного устройства, я постарался её не упустить. Я связался с разработчиком, описал проект и перекинулся с ним парой идей, а потом мы договорились о сотрудничестве.
Прежде всего, перед интеграцией нужно четко понимать, что Tobii Eye Tracking не заменяет стандартные устройства управления, а дополняет их. Например, не стоит вешать на него управление, заменяющее действия, выполняемые с помощью мыши (выбор зданий, например). Это увеличивает мисклики — иногда выделяется не до здание, да и мышью это делается быстрее.
Сейчас есть мода на минималистичный пользовательский интерфейс (что хорошо), где показывается только то, с чем можно взаимодействовать или получать какую-либо информацию. И Tobii Eye Tracking позволяет такого минимализма достигнуть, увеличив обзор для бокового зрения.
Есть одна немало важная вещь, про которую в прошлой статье не написали. Устройство захватывает не только положение глаз, но и положение головы и угол её поворота по всем трём координатам.
Грубо говоря, вы можете создать объект с камерой в мире, и привязать его Rotation к Rotation-у головы со всеми вытекающими последствиями. Либо, можно привязать к Rotation-у головы персонажа, тогда он будет повторять за вами.
Как можно заметить, все немного дергаётся, поэтому лучше (и нужно) использовать скрипты из примеров, которые идут в SDK. Там и настройка гибкая, и нет различных неприятных шероховатостей.
Очень круто этот скрипт работает с RTS-камерой, расположенной на высоте птичьего полёта, и с видом от третьего лица. Всё это очень сильно добавляет атмосферности и погружения в геймплей.
На данный момент это пока что всё, что я интегрировал в проект, некоторые вещи, которые уже реализованы, можно сделать лучше. Сам процесс интеграции — простой. С помощью подключения скрипта к нужному объекту, либо к камере, либо к объекту, с которым можно будет взаимодействовать, даже в код можно особо не лезть.
Заключение
Разрабатывать игры непросто и порой приходит момент, когда проект, над которым работаешь, приедается, и появляется потребность попробовать что-то новое. Интеграция трекинга отлично способствует насыщению этой потребности и совмещения этого с приятным. Я больше чем уверен, что при должном творческом потенциале, с функциями этого устройства можно придумать по-настоящему новый игровой экспириенс.
Если вы тоже разрабатываете игры, то можете написать сюда: https://tobiigaming.com/developer/ Компания нацелена на сотрудничество со студиями любых размеров, могут бесплатно выслать устройство, помочь с интеграцией и предлагают помощь в продвижении.
Если вам понравился проект, представленный в статье, либо вы любите следить за разработкой, добро пожаловать в группу: https://vk.com/public12578915
SYA :)