Unity 6.3
0 онлайн 101 гостей 3 в системе
Вход
Unity Строительные блоки Шаг 5 из 14

Строительный блок счетов игроков

Используйте строительный блок Player Accounts Unity для добавления функции входа в проект, например, для отслеживания и сохранения прогресса пользователей в приложении. Дополнительные сведения об PLayer Accounts см. в документации Счета игроков.

Этот Building Block включает тестовую сцену, демонстрирующую процесс аутентификации игроков. Вы можете использовать скрипты в этом Building Block для аутентификации игроков в вашем собственном проекте. Дополнительные сведения см. в Добавить Building Block Пользователи в другую сцену.

Блок создания учетных записей игроков использует следующие Unity Gaming Services (UGS):

Unity Игры ServiceTopic Описание
Аутентификация Назначает каждому игроку уникальный идентификатор. Чтобы использовать эти схемы аутентификации, (настройте поставщика удостоверений)[set-up-an-identity-provider].
Дополнительные сведения см. в разделе Аутентификация.
Сохранить облако Хранит данные игрока и игровые данные для ваших игр и предоставляет классы доступа для управления чтением и записью данных игрока и защищённых игровых данных.
Чтобы узнать больше, см. Сохранить облако.
Облачный код Обеспечивает серверные полномочия, позволяющие писать в защищённые или приватные классы доступа. С помощью Cloud Code можно записывать игровые данные или защищённые данные игрока, а также читать приватные игровые данные.
Чтобы узнать больше, см. Проверка подлинности облачного кода.

Предварительные условия

Чтобы настроить проект для блока создания учетных записей игроков, следуйте инструкциям в:

Первоначальная настройка

Чтобы использовать все возможности тестовой сцены Учетные записи игроков, выполните шаги, описанные в этом разделе.

Настройка поставщика удостоверений

В тестовой сцене строительного блока «Учетные записи игроков» демонстрируются несколько методов входа в систему. Чтобы проект распознавал эти методы аутентификации, выполните следующие действия:

  1. Настройка поставщика имени пользователя и пароля.
  2. Настройка Unity Провайдера Учетных записей Игрока ID.

Развертывание модуля Cloud Code

Тестовая сцена использует модуль Cloud Code BlocksGameModule.ccmr и модуль Cloud Code для обновления глобального счета, который является результатом суммирования значений всех аутентифицированных игроков. Чтобы использовать этот модуль Cloud Code, разверните его:

  1. Следуйте инструкциям в разделе LiveOps Предварительные условия строительных блоков, чтобы настроить развертывание в проекте.
  2. Перейдите в Услуги > Развертывание.
  3. В окне Развертывание в разделе Blocks.CloudCode установите флажок BlocksGameModule.ccmr.
  4. Выбрать Развернуть выбранный.

Используйте тестовую сцену "Строительный блок учетных записей игроков"

В тестовой сцене строительного блока учетных записей игроков показаны следующие шаги в рабочем процессе учетной записи игроков:

  • Вход: Использует Unity Расширяемый язык разметки (UXML) чтобы показать интерфейс входа, который аутентифицирует игроков. Аутентифицированные игроки могут обновлять и просматривать глобальный счёт. Подробнее см. Интерфейс тестовой сцены Player Accounts.
  • Визуализация данных: Отображает данные игрока, которые декларируют метки в ассете PlayerAccountScene.uxml.
  • Облачная интеграция: Отображает общий глобальный балл, которым управляет модуль BlocksGameModule.ccmr Cloud Code.

Чтобы открыть тестовую сцену строительного блока учетных записей игроков:

  1. В окне Project перейдите в Активы> Блоки > PlayerAccount > TestScenes.
  2. Щелкните правой кнопкой мыши объект PlayerAccountScene и выберите Открыть.

Чтобы использовать тестовую сцену строительного блока учетных записей игроков:

  1. Вход в режим воспроизведения.
  2. В игровом режиме выберите один из следующих вариантов входа в систему:
    • Вход анонимно: Создает анонимные данные игрока для аутентификации пользователя. Более подробную информацию см. в Анонимная аутентификация.
    • Войти с Unity: Использование Unity Чтобы узнать больше об этом методе аутентификации, см. Внешняя аутентификация. Чтобы использовать этот метод входа в систему, создать Unity Счета игроков ID провайдер.
    • Войти с паролем: Принимает настраиваемое имя пользователя и пароль, соответствующие потребности. Чтобы использовать этот метод входа в систему, настройка поставщика имени пользователя и пароля.
  3. В новой сцене, которая загружается, выберите кнопку Increment Global Score, чтобы увеличить глобальный балл на один. Глобальный балл является результатом суммирования значений всех аутентифицированных игроков.

Примечание: Служба аутентификации хранит личность игрока в облаке.

Добавить строительный блок "Учетные записи игроков" в другую сцену

Чтобы добавить аутентификацию игроков из строительного блока Учетные записи игроков в новую сцену, выполните следующие действия: 1. Разверните модуль Cloud Code. 2. Перейдите в Активы > Блоки > Достижения > Префабы. 3. Выберите AchievementsPrefab, чтобы открыть его.

Любые изменения, которые вы делаете в Achievements.ach, влияют на AchievementsPrefab, когда вы вступаете в режим воспроизведения.

Ассеты пользовательского интерфейса Player Accounts можно добавить и в другую сцену. Подробнее см. Настройка пользовательского интерфейса Player Accounts.

Примечание: Чтобы создать новый файл конфигурации достижений, перейдите к Создать > Блоки > Конфигурация достижений.

Настройка стартовой сцены учетных записей игроков

Начальная сцена учетных записей игроков содержит следующие скрипты, которые вы можете изменить, чтобы изменить то, как аутентификация игроков работает в сцене:

  • Скрипты интерфейса Player Accounts.
  • Скрипты данных игроков в Учетных записях игроков.

Настройка пользовательского интерфейса Player Accounts

Строительный блок Player Accounts содержит ассеты Unity Extensible Markup Language (UXML) для отображения интерфейса тестовой сцены. О скриптах UXML см. Введение в UXML.

Чтобы настроить пользовательский интерфейс Player Accounts:

  1. Перейти к Окно > UI Toolkit > UI строитель.
  2. На панели инструментов Видовой проем выберите Blocks Runtime Theme.
  3. В панели Библиотека перейдите в Блоки > PlayerAccount.
  4. Выберите PlayerDataLabel и перетащите его на панель Hierarchy.
  5. Измените открытые свойства в панели Атрибуты.

Чтобы узнать больше о конструкторе UI, см. UI Builder.

Ассеты интерфейса Player Accounts

Блок создания учетных записей игроков содержит следующие ассеты Unity Extensible Markup Language (UXML), которые можно изменить или добавить в другую сцену.

Название актива Описание
PlayerSignIn Отображает параметры аутентификации, которые вы можете использовать для анонимного входа, через веб-портал учетной записи игрока Unity или с помощью имени пользователя и пароля. Дополнительные сведения см. в разделе Аутентификация независимо от платформы.
PlayerIdLabel Многоразовая метка, которая отображает и отслеживает проигрыватель ID с интеграцией буфера обмена.
PlayerNameLabel Многоразовая метка, связанная с данными, которая отслеживает имя игрока. Вы можете изменить имя в поле UXML в тестовой сцене.
PlayerDataLabel Многоразовая метка, загружающая данные Общедоступного, По умолчанию или Защищенного плеера в соответствии с назначенным атрибутом data-key.
PlayerEditableDataLabel Специализированный PlayerDataLabel, который позволяет редактировать данные игрока (кроме Защищенных).
PlayerLoadDataControl Элемент управления отладкой, который показывает все доступные ключи класса доступа по умолчанию и по требованию загружает значение одного из них для плеера.

Скрипты Пользователей UXML используют следующие классы:

  • AuthenticationService из пакета Аутентификация.
  • ServiceObserver&T из пакета Services Core.

Скрипты данных игрока

Блок создания учетных записей игроков содержит скрипты, которые управляют данными игроков, такими как информация о входе в систему, и игровыми данными, такими как результаты. ServiceObserver<T> базовый класс из пакета Services Core, чтобы управлять временем жизни служб без ручного отслеживания.

Найдите следующие ассеты скрипта в Project окно: Активы > Блоки > PlayerAccount > Сценарии > Среда выполнения.

Название актива Описание
AuthenticationObserver Обрабатывает события входа и состояния аутентификации и позволяет проекту регистрировать обратные вызовы.
CloudDataContainer Отображает информацию, которую AuthenticationObserver хранит в тестовой сцене. Этот контейнер также управляет асинхронной загрузкой и привязкой данных проигрывателя, которые можно инстанционировать и получить доступ к ним в сценарии.
GlobalScoreClient Файл модуля Cloud Code, который использует механизм блокировки записи для управления общими образцами данных глобального счета на уровне игры.

Устранение неполадок

Если кнопка Увеличить Глобальный балл в тестовой сцене Учетные записи игроков не обновляет значение Глобального балла, следуйте инструкциям для развертывания модуля Cloud Code.

Дополнительные сведения об ограничениях чтения и записи для Cloud Save Data см. в документации Services API.

Дополнительные ресурсы

  • Настройка имени пользователя и пароля
  • Развертывание