创造你的世界
经济

ZEPETO 模型

25min

ZEPETO 人体模型是一个支持试穿/销售服装的模型 API 包。

  • 您将能够在世界中销售您制作的服装。
  • 您可以创建一个穿着指定服装的 ZEPETO 角色 NPC 的模型。
  • 您可以通过与模型或物体互动来购买服装。




步骤 1 : 安装

窗口 → 包管理器 → 首先安装 ZEPETO.World 包 1.21.15 或更高版本。

之后,请安装 ZEPETO.Module 1.0.8 包。

Document image


❗️ 注意

  • 作为性能改进的一部分,独立包已集成到 ZEPETO.Module 1.0.8 及更高版本包中。
    • 请删除任何之前安装的 ZEPETO.Mannequin 包。
    • 在删除现有包后,请安装 ZEPETO.Module 包版本 1.0.8 或更高版本。



步骤 2 : 检查要设置在模特上的物品 ID

👍 如何验证物品 ID

  • 您可以检查在 ZEPETO Studio 中点击物品产品时弹出的 URL。

    Document image
    



  • 复制物品 ID 作为随机数字,粘贴到 Unity 编辑器中,并在前面粘贴 'CR_'。

    Document image
    

📘 如果您是第一次制作物品,请参考以下指南。[创建您的物品]



步骤 3 : 设置人形模型

人形模型可以通过三种方式制作。

  • 只有您制作并发布的物品才能在 ZEPETO 人形模型中设置和出售。
  • 在审核中被拒绝的物品无法出售。
  • 因此,您必须登录 Unity 才能使用此功能。
  • 当您发布带有人形功能的包时,您还必须以编辑身份登录。
  • 使用 ZEPETO 模板和 ZEPETO 模型类型的人形模型时,消耗的资源等同于进入的 ZEPETO 角色数量,这可能会影响优化。
    • 如果您需要在世界中放置许多 ZEPETO 角色形状的人形模型,建议选择简单类型的人形模型,然后使用 ZEPETO 基础模型 作为对象。



步骤 3-1 : 简单类型

使用简单类型人形的示例
使用简单类型人形的示例




这是最基本的。可以将特定对象作为人形子对象添加以设置外观。

1) 添加一个对象以进行交互。

2) 必须添加碰撞体以与对象进行交互。

  • 必须勾选 isTrigger。如果未勾选,则会自动处理为识别为触发器。
  • 当您尝试添加人形组件而未添加碰撞体时,将出现如下所示的警告窗口。
Document image




3) 将模特组件添加到对象中。

4) 请在检查器中设置以下内容。

  • 图标:默认显示衣架图标。您可以将其更改为自定义图标。
  • 图标位置:如果不存在,图标默认出现在对象位置与模特组件一起。
    • 在添加位置对象后输入值,以使其出现在所需位置。
  • ids:请填写您想要出售的服装项目的项目ID。
Document image




5) 添加一个空对象,并将对象名称写为 MannequinScript。

6) 添加 ZEPETO > Typescript,并将脚本名称写为 MannequinScript。

7) 按如下填写。

TypeScript


8) 将脚本添加到对象后,按 [▶︎(播放)] 按钮运行它。

Document image




步骤 3-2 : ZEPETO 模型类型

使用 ZEPETO 模型类型 Mannequin 的示例
使用 ZEPETO 模型类型 Mannequin 的示例




您可以通过将物品 ID 添加到 ZEPETO 角色 NPC 来设置人形的外观。

1) 创建一个空对象并将其命名为人形。

2) 必须添加碰撞体以便与对象进行交互。

  • 必须勾选 isTrigger。如果未勾选,则会自动处理为识别为触发器。

3) 将人形组件添加到对象。

4) 请在检查器中设置以下内容。

  • 图标:默认显示衣架图标。您可以将其更改为自定义图标。
  • 图标位置:如果不存在,图标默认出现在带有人形组件的对象位置。
    • 在添加位置对象后输入值,以使其出现在所需位置。
  • ids:请填写您想要出售的服装物品的 ID。
  • 姿势:您可以选择一个姿势并进行设置。
    • 未来,我们将以姿势 ID 的形式提供您想要的姿势。



Document image




👍 如果您已经在场景中有一个人形脚本,您可以跳过后面的步骤。

5) 添加一个空对象,并将对象名称写为 MannequinScript。

6) 添加 ZEPETO > Typescript,并将脚本名称写为 MannequinScript。

7) 按如下填写。

TypeScript


8) 添加脚本到对象后,按下 [▶︎(播放)] 按钮以运行它。

Document image




步骤 3-3 : ZEPETO 模板类型

使用 ZEPETO 模板类型人形的示例
使用 ZEPETO 模板类型人形的示例




如果您输入一个 ZEPETO id,人物所穿的衣服将作为人形出现。然而,如果这不是您制作的衣服,则不会显示这些衣服。

1) 创建一个空对象并将其命名为人形。

2) 必须添加碰撞体以与对象进行交互。

  • 必须勾选 isTrigger。如果未勾选,则会自动处理为识别为触发器。

3) 将人形组件添加到对象中。

4) 请在检查器中设置以下内容。

  • 图标:默认显示衣架图标。您可以将其更改为自定义图标。
  • 图标位置:如果不存在,图标默认出现在带有人形组件的对象位置。
    • 输入值后添加位置对象,以使其出现在所需位置。
  • zepeto id:请输入 ZEPETO id。
  • 姿势:您可以选择一个姿势并进行设置。
    • 未来,我们将以姿势 id 的形式提供您想要的姿势。
Document image




👍 如果您在场景中已经有一个人形脚本,您可以跳过后面的步骤。

5) 添加一个空对象,并将对象名称写为 MannequinScript。

6) 添加 ZEPETO > Typescript,并将脚本名称写为 MannequinScript。

7) 按如下填写。

TypeScript


8) 将脚本添加到对象后,按 [▶︎(播放)] 按钮运行它。

Document image




步骤 4 : 使用 Mannequin 购买

如果您正确完成了人形设置,当您进入人形对象的碰撞体区域时,将出现一个交互图标。

当您点击图标时,购买窗口将出现,并显示您在模特上设置的物品。

Document image


您可以通过点击物品来试穿。

  • 您已经拥有的物品将用勾号标记,而不是价格。 当您离开模特物体的碰撞区域时,试穿将被取消,您将返回到原来的服装。
Document image


以下是根据测试场景购买过程的工作方式。



步骤 5 : 模特多人同步

多人游戏需要使用模特功能同步其他玩家穿着的服装。

👍 基本的多人游戏设置应在处理以下内容之前完成。

1) 添加客户端脚本。 添加 ZEPETO > Typescript 并将脚本名称写为 MannequinController。

2) 按如下所示填写。

TypeScript


3) 创建层次结构 > 空对象并将其命名为人形控制器。

4) 将您刚刚编写的脚本添加到人偶控制器中。

Document image




5) 接下来,参考以下内容编写服务器代码,位于 World.Multiplay > index.ts。

TypeScript


6) 打开多人服务器并进行测试。



事件功能

事件功能可从 ZEPETO Mannequin 1.1.0 开始使用。



ZEPETO.模特.模特

功能

描述

public static OnSelectedItem: UnityEngine_Events.UnityEvent$2<ItemContent, boolean>;

在假人服装购买窗口中选择特定项目时调用,并将所选项目的信息和项目选择传递给布尔值。

public static OnSucceededPurchaseItems: UnityEngine_Events.UnityEvent$1<ItemContent[]>;

在完成服装购买时调用,并带来已购买项目的信息的ItemContent列表。

public static OnFailedPurchaseItems: UnityEngine_Events.UnityEvent$1<ItemContent[]>;

在服装购买失败时调用,并带来失败项目的信息的ItemContent列表。

public static OnAppliedItems: UnityEngine_Events.UnityEvent$1<ItemContent[]>;

在成功购买服装后选择穿上所购买的项目时调用,并带来您所穿项目的信息的ItemContent列表。

public static OnOpenedShopUI: UnityEngine_Events.UnityEvent$1<ItemContent[]>;

在打开假人服装购买窗口时调用,并带来购买窗口中项目的信息的ItemContent列表。

public static OnClosedShopUI: UnityEngine_Events.UnityEvent;

在关闭假人服装购买窗口时调用。



ZEPETO.模特.基础预览器

功能

描述

public OnChanged: UnityEngine_Events.UnityEvent$1<ZEPETO_Mannequin_BasePreviewer.ChangedValue[]>;

每当通过按压模型更改装备物品信息时,都会调用此方法,并传递 OnChagedValue 列表。

OnChagedValue 类的成员变量信息如下:

public property : ZepetoPropertyFlag

服装部件信息

public id : string

物品 ID



人偶.世界相机

如果未设置人偶.世界相机,则人偶交互图标的相机将设置为低深度的相机。

如果您希望设置特定的相机,可以使用人偶.世界相机来指定一个。

变量

描述

人偶.世界相机

一个允许您手动设置人偶交互图标相机的变量。



以下是现有MannequinScript中Mannequin.WorldCamera的示例设置。

TypeScript






OnContentsLoaded API

当使用 Mannequin API 装备服装时,添加了一个回调,当所有服装项目完全加载时触发。

API




在现有的 MannequinScript 中设置 OnContentsLoaded 的示例如下。

MannequinScript