入门

创建一个Zepeto角色

16min

步骤 0 : 向场景添加基础

  • 在层级窗口中,点击 3D 对象 → 平面。
Document image

  • 将平面的位置设置为 X: 0, Y: 0, Z: 0,并将大小设置为 X: 10, Y: 1, Z: 10。
Document image


👍 提示

  • 平面是用于测试的最基本地面。
  • 只要是带有碰撞体的对象,使用什么都无所谓。
  • 随着你对世界创建的熟悉,你可以制作一个酷炫的地图来替代地面。
  • 没有平台,角色一创建就会掉落并且不可见。



步骤 1 : 添加 ZEPETO 玩家组件

在层级窗口中,选择 ZEPETO → ZepetoPlayers 标签。

Document image


一个名为 ZepetoPlayers 的对象将会自动创建,如下所示。 ZepetoPlayers 是一个管理世界中角色控制器模块的组件。

Document image




可以在检查器窗口中设置角色控制和相关功能的值。

  • 通常可以设置 ZEPETO 相机设置、角色移动速度、跳跃高度等。
  • 在这个例子中,我们将使用默认值。

📘 有关详细设置,请参阅 ZEPETO 角色控制器指南。ZEPETO角色控制器



步骤 2 : 加载角色

要加载角色,您需要创建一个新的 ZEPETOScript 文件。

1) 在 [项目] 面板中,选择左上角的 [+] 菜单或选择资产 → 创建 → ZEPETO → TypeScript。

Document image




2) 当创建 ZEPETOScript 文件时,请将名称输入为 CharacterController。将创建如下所示的脚本文件。

Document image




3) 在层级 → [+] 菜单 → 运行创建空对象菜单。

Document image




4) 创建空的 GameObject 时,写上 CharacterController。将创建如下所示的 GameObject。

Document image




5) 将之前创建的 CharacterController ZEPETOScript 文件拖到 GameObject 上作为组件。

Document image

  • ZEPETOScript 不会运行,除非它作为组件添加到场景中的 GameObject。



6) 首先,输入您的 ZEPETO ID 以将角色加载到场景中。 打开 CharacterController ZEPETOScript 文件并运行脚本编辑器程序。 然后应用下面的示例脚本。

  • 请在 [ZEPETO_ID] 的位置输入您的 ZEPETO ID。
  • 如果您的 ZEPETO ID 是 'abcd',您应该输入为 ZepetoPlayers.instance.CreatePlayerWithZepetoId("", "abcd", new SpawnInfo(), true)



用于加载具有特定 ZEPETO ID 的 ZEPETO 角色的脚本

用于加载具有特定 ZEPETO ID 的 ZEPETO 角色的脚本


7) 保存脚本后,请返回 Unity 编辑器。

  • 请继续执行步骤 3。
  • 如果您使用此代码,您将只能使用特定 ZEPETO ID 的头像进行游戏。
  • 当您启动您的世界时,您需要修改代码,以基于访问您世界的用户的 ZEPETO ID,而不是您在代码中输入的 ZEPETO ID。请使用下面的脚本。



加载已登录ID的角色的脚本

加载已登录ID的角色的脚本

  • 此脚本根据已登录的ID创建一个ZEPETO角色,并不接受特定的ZEPETO ID,因此请确保在测试之前先登录Unity编辑器。
  • 保存脚本后,请返回Unity编辑器。
  • 请继续执行第3步。
  • 请确保客户端脚本中只有一个本地玩家创建代码。
  • 如果创建了多个相同的玩家,可能是CreatePlayerWithUserId()脚本在其他地方被调用。
  • 一个常见的错误是应用多人示例代码,同时保留本指南中的角色创建代码不变,导致角色被创建两次。请通过注释掉一方来管理此问题。



步骤 3 : 运行

使用屏幕中央的 [▶︎(播放)] 按钮检查 CharacterController 是否正常工作。

加载的角色被称为本地玩家的角色,这意味着用户可以直接在自己的设备上控制的 ZEPETO 角色。

CharacterController 为每个输入事件提供了一个通用的角色控制键映射,适用于不同的设备(PC/移动设备)。因此,加载的角色可以在场景中进行控制,而不受平台的限制。

在 PC 上,角色和相机可以通过鼠标操作。在移动设备上,角色和相机可以通过下面截图所示的虚拟摇杆操作。

Document image


👍 以下输入接口支持角色控制: PC

  • 移动:键盘箭头,WASD
  • 跳跃:空格
  • 双重跳跃:(左)Shift
  • 缩放:鼠标滚轮
  • 旋转:屏幕拖动

移动设备

  • 移动:(左下角屏幕)虚拟摇杆
  • 跳跃:(右下角屏幕)虚拟摇杆按钮
  • 缩放:(两根手指)屏幕拖动
  • 旋转:(一根手指)屏幕拖动



如果ZEPETO角色创建功能不正常,请前往 Unity菜单 > 项目设置 > 编辑器 > 进入播放模式设置

  • 将进入播放模式选项设置为关闭。
Document image




步骤 4:更改 ZEPETO 角色的起始位置

ZEPETO 角色的起始位置在 UnityEngine.Vector3(0,0,0) 创建,除非另行设置。

旋转值也在 UnityEngine.Quaternion.Euler(0,0,0) 的角度生成。

角色生成位置和旋转值使用 ZepetoPlayers.instance.CreatePlayerWithUserId(WorldService.userId, new SpawnInfo(), true); 函数的参数 SpawnInfo() 将被生成。

因此,您可以在调用角色创建函数之前设置 SpawnInfo() 的期望值,以确保它在特定位置生成。

我们已经在地图上的位置 (0,0,0) 预放置了一个 3D 对象 > 立方体。

如果您将角色的生成位置值更改为以下内容,它将生成在立方体上方。

CharacterController




使用屏幕中央的播放按钮检查角色的创建。

Document image




如果你改变位置和方向值,你也可以创建一个躺着的角色。

SpawnInfo 示例

Document image




更新日期 11 Oct 2024
Doc contributor
Doc contributor
此页面是否对您有帮助?