战利品箱

战利品箱是玩家可以赢得、赚取或购买的虚拟物品,然后打开以获得随机选择的物品。奖励可能因游戏类型、主题和虚拟经济而异。它们可以对留存产生积极影响,补充直播活动,并激发新老玩家的好奇心。此示例演示了如何设置一个基本的战利品箱,为玩家提供随机货币。

先决条件

要使用此示例用例,您必须 下载并安装 UGS 使用案例项目到您的 Unity 项目中。

概述

要查看此用例的实际应用,打开示例菜单 并导航到 **战利品箱**。要直接打开此场景并与用例进行交互

  1. 在 Unity 编辑器 **项目** 窗口中,选择 **Assets** > **Use Case Samples** > **Loot Boxes**,然后双击 LootBoxesSample.unity 打开示例场景。
  2. 按下 **播放** 进入播放模式。

初始化

LootBoxesSceneManager.cs 脚本在其 Start 函数中执行以下初始化任务

  1. 初始化 Unity 游戏服务。
  2. 使用身份验证服务 以匿名身份 登录玩家。如果您之前已初始化任何其他示例场景,身份验证将使用您缓存的玩家 ID,而不是创建一个新的 ID。
  3. 从经济服务中检索并更新玩家的货币余额。

功能

单击 **打开战利品箱** 按钮时,您将从可用池中获得随机数量的奖励(在货币 HUD 中显示)。以下是发生的情况

  1. 按钮的 OnClick 方法从云代码服务调用 GetRandomCurrency 脚本,该脚本从内部列表中选择随机数量的随机货币来奖励用户。
  2. 云代码直接调用经济服务来授予奖励的货币并更新玩家的余额。
  3. 云代码将结果返回给客户端并更新 UI。

设置

需求

要复制此用例,您需要以下 Unity 包 在您的项目中

角色
身份验证自动将玩家登录为匿名用户以跟踪其服务器端数据。
云代码通过经济服务器选择并授予战利品箱的随机货币,并返回结果。
部署提供一个连贯的接口来部署云服务的资产。
经济在运行时检索起始和更新的货币余额。

要在您的游戏中使用这些服务,请在 Unity 云仪表盘 中为您的组织和项目激活每个服务。

Unity 云服务配置

要在您自己的 Unity 项目中复制此示例场景的设置,请配置以下项目

  • 云代码脚本
  • 经济项目

要配置这些项目,您可以 使用部署包,或 使用 Unity 云仪表盘手动输入它们。建议的最佳实践是使用部署包,因为它可以大大加快此过程。

使用部署包

要使用部署包部署配置,请执行以下操作

  1. 打开 部署窗口
  2. 选中 CommonLoot Boxes
  3. 单击 部署选择

这将部署所有必要的项目。

使用 Unity 云仪表盘

您可以使用 Unity 云仪表盘 按项目和环境手动配置您的服务。请参考以下部分来配置此示例。

经济

在 Unity 云仪表盘中配置以下货币

资源类型资源名称ID描述
货币硬币COIN战利品箱奖励物品。
货币宝石GEM战利品箱奖励物品。
货币珍珠PEARL战利品箱奖励物品。
货币星星STAR战利品箱奖励物品。

这些构成了战利品箱的潜在奖励池。有关更多信息,请参阅有关 配置经济资源 的文档。

云代码

在 Unity 云仪表盘中发布以下脚本

脚本参数描述项目中的位置
GrantRandomCurrency从内部列表中选择随机数量的随机货币来奖励用户,在经济服务中授予它,并返回结果。Assets/Use Case Samples/Loot Boxes/Cloud Code/GrantRandomCurrency.js

**注意**:Cloud Code 文件夹中包含的云代码脚本是本地副本,因为您无法查看示例项目的仪表盘。对这些脚本的更改不会影响此示例的行为,因为它们不会自动上传到云代码服务。

经济

在 Unity 云仪表盘中配置以下资源

资源类型资源名称ID描述
货币硬币COIN一个潜在的战利品箱奖励。
货币宝石GEM一个潜在的战利品箱奖励。
货币星星STAR一个潜在的战利品箱奖励。
货币珍珠PEARL一个潜在的战利品箱奖励。