Независимый разработчик Александр Петров написал заметку для раздела Unity с инструкциями по использованию таблиц Google при разработке игр.
По его словам, такая интеграция позволяет решить проблемы управления данными — управлять параметрами внутриигровых предметов (юнитов, оружия, навыков), внутриигровой экономикой, локализацией.
Рано или поздно в процессе разработки даже самой простой игры перед ее создателями встает задача управления данными, это могут быть параметры внутриигровых предметов (юнитов, оружия, навыков), экономика игры, локализация или данные, необходимые для работы приложения.
Электронные таблицы могут стать удобным инструментом для решения этой проблемы.
Они хорошо подходят для визуализации данных и визуализации.
Сортировка и использование формул помогут добиться математической точности при расчете экономики, игровых циклов и управления уровнями.
Преимущество таблиц Google в том, что с ними одновременно в режиме онлайн может работать большое количество людей — это значительно увеличивает скорость разработки и устанавливает надежную и понятную связь между членами команды: программистами, художниками, гейм-дизайнерами.
В этой статье я хочу рассказать вам, какую пользу мне принесли электронные таблицы, с какими трудностями я столкнулся при подготовке игры к работе с таблицами Google, а также хочу поделиться небольшим руководством по интеграции проекта Unity с таблицами Google. Если рассматривать случай нашей игры, то мы использовали таблицы Google для хранения данных и систематизации цветовых схем персонажей, расчета их стоимости во внутриигровой валюте и построения системы задач для игрока.
Как человек, отвечающий за программную часть приложения, использование таблиц сэкономило много времени, особенно когда дело касалось графических данных и совместной работы с дизайнером.
Как вы могли заметить, различные цветовые схемы добавили изюминку довольно простой игре, сделав ее немного более привлекательной и интересной для пользователя.
Без систематизации данных это было бы практически невозможно сделать.
Формулы и методы сортировки помогли рассчитать все параметры внутриигровых испытаний: порядок, цель, награду.
Правильный подход к построению экономики очень важен для удержания пользователя в игре, и мобильность в изменении данных, которые предоставляют таблицы, играет в этом случае на руку.
Теперь перейдем к технической стороне интеграции Google Таблиц с Unity. Игровой движок Unity предоставляет множество способов взаимодействия с Google Sheets, один из которых — интеграция на основе автономного приложения.
Но основной проблемой в этом случае может стать использование движка .
NET 2.0. С 5 мая 2015 года Google прекратил поддержку устаревшего протокола авторизации OAuth 1.0, и все те приложения, которые не перешли на новый OAuth 2.0, перестали работать.
Так получилось, что разработчики бесплатных плагинов, которыми я пользовался Unity-GData и его обновленная версия Unity-Quicksheet , об этом не позаботились, и мне ничего не оставалось, как искать решение самому.
Сначала мне казалось, что проблем с авторизацией в Unity и C# возникнуть не должно, потому что документация исчерпывающе по этой теме.
Но оказалось, что не все так просто.
Во-первых, были сбои с самим процессом авторизации, так как в документации Google Spreadsheets не были указаны некоторые параметры запроса OAuth 2.0, такие как «Тип доступа» и «Тип токена».
Во-вторых, в некоторых обновленных библиотеках Google Data API .
dll, которые я импортировал из SDK API данных Google для моно были ошибки компиляции в Unity, то же самое произошло с рядом старых .
dll из плагина Unity GoogleData .
Мне пришлось совместить.
В-третьих, нужно было добавить необходимую библиотеку Newtonsoft для работы с JSON-запросами.
Давайте приступим к делу.
Процесс интеграции Google Sheets с Unity можно разделить на несколько этапов:
- Предварительная настройка учетной записи Google.
- Настройка доступа к API Google Диска.
- Получение и сохранение данных из таблиц Google.
Предварительная настройка учетной записи Google
- Войдите в свой аккаунт.
- Давайте двигаться дальше связь и создайте новый проект «Создать новый проект».
- На боковой панели консоли разработчика в разделе «API и аутентификация» выберите вкладку «API».
- Заходим в настройки «Drive API» в группе «Google Apps API» и подключаем этот API к нашему приложению кнопкой «Включить API».
- В том же разделе «API и аутентификация» выберите вкладку «Экран согласия».
Введите название продукта «Название продукта» и по желанию укажите адрес домашней страницы, логотип и другие параметры.
- Опять же, в разделе «API и аутентификация» выберите вкладку «Учетные данные».
Создаем новый Client ID для работы с Auth 2.0 — кнопка «Создать client ID».
В диалоговом окне отметьте «Тип приложения» как «Установленное приложение», а в поле «Тип установленного приложения» — «Другое».
Подтвердите действие, нажав кнопку «Создать идентификатор клиента».
- Мы получили значения Client ID и Client Secret, которые потребуются позже.
Настройка доступа к Google Drive API
- После импорта пакета Unity сценарий SpreadsheetEntity.cs должен автоматически запускаться при запуске Unity. Откройте скрипт для редактирования и введите данные авторизации.
- Присвояем переменным «_ClientId» и «_ClientId» значения «Идентификатор клиента» и «Секрет клиента», полученные из консоли разработчика.
- Давайте запустим проект Unity. Он автоматически переходит по ссылке, по которой после авторизации вы можете получить «Код доступа», чтобы приложение могло успешно авторизоваться в Google.
- Скопируйте «Код доступа» и присвойте его значение переменной «_AccessCode» в скрипте «SpreadsheetEntity.cs».
- После этого снова запускаем проект и получаем из журнала консоли Unity значения «OAuth 2.0 Access Token» и «Refresh Token», которые нам нужны для постоянного доступа к таблицам Google. Эти значения мы присваиваем переменным «_AccessToken» и «_RefreshToken» соответственно.
Отмечу некоторую особенность: этот скрипт выполняется при запуске редактора Unity, это очень удобно, поскольку все данные уже будут на месте до выполнения основного кода приложения.
Подробнее Здесь .
После того, как вы выполнили все необходимые шаги, проект готов к работе с Google Таблицами.
Получение и хранение данных из таблиц Google
Процесс работы Google с таблицами хорошо описан выше.документация для разработчиков.
Но для наглядности приведу небольшой пример .
Я использую каналы на основе списков для получения данных и XML-файлов для хранения.
Более подробную информацию о работе с XML в Unity вы можете найти.
Здесь .
Также стоит добавить, что скрипт работает только в редакторе; вы не можете использовать функционал таблиц Google на устройстве, это связано с проблемами совместимости некоторых библиотек с некоторыми платформами.
Библиотеки, которые я предложил в Unitypackage, не будут компилироваться ни под какую платформу, кроме редактора.
Если вам все же необходимо использовать таблицы на устройстве, то в пятой версии Unity вы можете выбрать платформу, которую должен поддерживать плагин, с помощью Инспектора плагинов, а в более ранних версиях вы можете поместить плагин в нужную папку (подробнее Здесь ).
Итак, электронные таблицы — незаменимый инструмент в процессе разработки игр.
Они помогают оптимизировать рутинную работу и наладить взаимодействие всей команды, визуализировать огромные объемы данных и использовать математику для их расчета.
Интеграция Google Таблиц с Unity — несложный процесс, но требует некоторых знаний и усилий.
-
Бесплатный Детальный Анализ Пк
19 Oct, 24 -
Дышите В Телефон
19 Oct, 24 -
Впф 4.0. Что Нового? Часть 5
19 Oct, 24 -
Мудрость Толпы И Социальных Сетей
19 Oct, 24 -
10 Способов Слить Бюджет В Контекст. Часть 1
19 Oct, 24