ZEPETO.Character.Controller
类型 | 说明 |
|---|---|
用于同时控制 ZEPETO 玩家与 ZEPETO 角色的管理器类。 | |
表示 ZEPETO 角色的生成位置。 | |
表示可在 ZEPETO World 中加载并控制的 ZEPETO 角色。 | |
表示 ZepetoCamera 的初始配置。 | |
表示 ZepetoCharacter 的初始配置。 | |
表示 ZepetoPlayerControl 的配置。 | |
负责管理角色相关 UI 设置的类。 | |
用于管理本地玩家动作的类,涵盖移动、服装自定义以及 ZEPETO 摄像机交互。 | |
为 ZEPETO Character Controller 内使用而设计的摄像机控制类。 | |
表示 ZEPETO 玩家。 | |
管理 ZEPETO 玩家的输入控制。 | |
管理 ZEPETO 环境中的摄像机控制,包括摄像机移动与缩放的输入处理。 | |
表示 ZEPETO 角色的状态。 | |
表示 ZEPETO 角色的详细移动状态。 | |
表示 ZEPETO 角色的详细跳跃状态。 | |
表示 ZEPETO 角色的详细落地状态。 | |
定义角色上一组已知的挂点(socket)。 | |
用于管理角色动作状态与配置的类。 | |
负责将 animator 与 ZEPETO 角色的角色状态保持同步的类。 | |
StateMachine 用于管理 States、Transitions 和 Events。它会根据指定条件和经过时间更新状态,从而实现对对象各种状态的定义与控制。 | |
表示状态机中某个状态可能处于的状况,用于指示该状态生命周期的当前阶段。 | |
表示角色动作的自定义配置。 | |
负责管理 ZEPETO 角色阴影的类。 | |
表示 ZepetoCamera 的状态。 | |
用于处理 ZEPETO 环境中摇杆交互的类。 | |
用于在 ZEPETO 环境中创建 UI 控件的抽象类。 | |
用于处理 ZEPETO 环境中按钮交互的类。 | |
用于处理 ZEPETO 环境中触摸板交互的类。 | |
为本地玩家角色提供基于 UI 的控制的类。 | |
用于辅助输入处理的工具类。 | |
负责处理 ZEPETO World 内角色相关事件或通用事件的类。 | |
用于定义状态机中状态之间转换的基类。 | |
表示状态机中的一个状态。 | |
用于定义状态机中状态之间转换的泛型类。 | |
ZEPETO 角色的加载状态。 | |
enum |
ZepetoPlayers
class
用于同时控制 ZEPETO 玩家与 ZEPETO 角色的管理器类。
属性
名称 | 类型 | 说明 |
|---|---|---|
cameraData | ZepetoCamera 的配置。 | |
characterData | ZepetoCharacter 的配置。 | |
controllerData | ZepetoPlayerControl 的配置。 | |
floatingUIData | 角色相关的 UI 设置。 | |
instance (static) | ZepetoPlayers 的单例实例。 | |
LocalPlayer | 本地玩家。 | |
ZepetoCamera | ZEPETO 摄像机。 |
事件
名称 | 类型 | 说明 |
|---|---|---|
OnAddedLocalPlayer | UnityEvent | 创建本地玩家实例时触发的事件。 |
OnAddedPlayer | UnityEvent<string> | 创建玩家实例时触发的事件。 |
OnRemovedPlayer | UnityEvent<string> | 移除玩家实例时触发的事件。 |
方法
add_onInitialized
static add_onInitialized(value: Action) → void
为 ZepetoPlayers 初始化时调用的事件添加处理函数。
参数 | 类型 |
|---|---|
value | Action |
remove_onInitialized
static remove_onInitialized(value: Action) → void
移除 ZepetoPlayers 初始化时调用的事件的处理函数。
参数 | 类型 |
|---|---|
value | Action |
HasPlayer
HasPlayer(id: string) → boolean
检查是否存在与指定会话 ID 关联的玩家实例。
参数 | 类型 | 说明 |
|---|---|---|
id | string | 会话 ID |
返回值: boolean
GetPlayer
GetPlayer(id: string) → ZepetoPlayer
获取与指定会话 ID 关联的玩家实例。
参数 | 类型 | 说明 |
|---|---|---|
id | string | 会话 ID |
返回值: ZepetoPlayer — 与指定 ID 关联的玩家对象。 若不存在该 ID 对应的玩家,则返回 null。
GetPlayerWithUserId
GetPlayerWithUserId(userId: string) → ZepetoPlayer
获取与指定用户 ID 关联的玩家实例。
参数 | 类型 | 说明 |
|---|---|---|
userId | string | 用户 ID |
返回值: ZepetoPlayer — 与指定用户 ID 关联的玩家对象。
RemovePlayer
RemovePlayer(id: string) → void
移除与指定会话 ID 关联的玩家实例。
参数 | 类型 | 说明 |
|---|---|---|
id | string | 会话 ID |
DeformDefaultCostume
DeformDefaultCostume() → void
移除所有玩家角色所穿戴的体型变形道具。 恢复为默认体型并应用默认 ZEPETO 服装。
DeformDefaultProperties
DeformDefaultProperties() → void
移除所有玩家角色所穿戴的体型变形道具。
SpawnInfo
class
表示 ZEPETO 角色的生成位置。
属性
名称 | 类型 | 说明 |
|---|---|---|
Default (static) | 默认生成位置。 | |
position | Vector3 | ZEPETO 角色生成时的位置。 |
rotation | Quaternion | ZEPETO 角色生成时的旋转。 |
ZepetoCharacter
class
表示可在 ZEPETO World 中加载并控制的 ZEPETO 角色。
属性
名称 | 类型 | 说明 |
|---|---|---|
additionalWalkSpeed | number | 获取附加的行走速度。 |
additionalRunSpeed | number | 获取附加的奔跑速度。 |
additionalJumpPower | number | 获取附加的跳跃力。 |
constraintRotation | boolean | 决定是否限制角色的旋转。 |
ZepetoAnimator | Animator | ZEPETO 角色的 Animator。 |
WalkSpeed | number | 获取总行走速度,即基础速度与附加速度之和。 |
RunSpeed | number | 获取总奔跑速度,即基础速度与附加速度之和。 |
JumpPower | number | 获取总跳跃力,即基础跳跃力与附加跳跃力之和。 |
baseWalkSpeed | number | 获取基础行走速度。 |
baseRunSpeed | number | 获取基础奔跑速度。 |
baseJumpPower | number | 获取基础跳跃力。 |
tryMove | boolean | 表示角色是否正在尝试移动。 |
tryJump | boolean | 表示角色是否正在尝试跳跃。 |
tryDoubleJump | boolean | 表示角色是否正在尝试二段跳。 |
motionState | 角色的动作状态与配置。 | |
loadingStatus | 角色的加载状态。 | |
Context | ZepetoContext | 角色的 ZEPETO Context。 |
StateMachine | 角色的状态机。 | |
CurrentState | 状态机中定义的角色当前状态。 | |
CurrentStateStatus | 状态机中定义的角色当前状态的状况。 | |
ElapsedTime | number | 自角色初始化以来经过的时间(秒)。 |
事件
名称 | 类型 | 说明 |
|---|---|---|
OnChangedState | UnityEvent<CharacterState, CharacterState> | 角色状态发生变化时触发的事件。已注册的监听器会收到两个参数: - 新的角色状态。(类型:CharacterState) - 之前的角色状态。(类型:CharacterState) |
OnUpdateState | UnityEvent<CharacterState> | 角色状态处于 StateStatus.Update 状况时触发的事件。已注册的监听器会收到一个参数: - 当前的角色状态。(类型:CharacterState) |
方法
SyncStateAnimation
SyncStateAnimation() → void
将 animator 与 ZEPETO 角色的当前角色状态同步。
ChangeStateAnimation
ChangeStateAnimation(state: CharacterState) → void
在 animator 上播放与所提供角色状态相对应的动画。
参数 | 类型 | 说明 |
|---|---|---|
state | 表示要播放动画的角色状态。 |
ChangeStateAnimation
ChangeStateAnimation(state: CharacterState, moveState: CharacterMoveState) → void
在 animator 上播放与所提供角色状态相对应的动画。
参数 | 类型 | 说明 |
|---|---|---|
state | 表示要播放动画的角色状态。 | |
moveState | 当 state 为 CharacterState.Move 时用于动画的移动状态(可选)。 |
ChangeStateAnimation
ChangeStateAnimation(state: CharacterState, jumpState: CharacterJumpState) → void
在 animator 上播放与所提供角色状态相对应的动画。
参数 | 类型 | 说明 |
|---|---|---|
state | 表示要播放动画的角色状态。 | |
jumpState | 当 state 为 CharacterState.Jump 时用于动画的跳跃状态(可选)。 |
ChangeStateAnimation
ChangeStateAnimation(state: CharacterState, landingState: CharacterLandingState) → void
在 animator 上播放与所提供角色状态相对应的动画。
参数 | 类型 | 说明 |
|---|---|---|
state | 表示要播放动画的角色状态。 | |
landingState | 当 state 为 CharacterState.Landing 时用于动画的落地状态(可选)。 |
Move
Move(dir: Vector2) → void
使角色朝指定方向移动。
参数 | 类型 | 说明 |
|---|---|---|
dir | Vector2 | 角色应移动的方向。 |
Move
Move(dir: Vector3) → void
使角色朝指定方向移动。
参数 | 类型 | 说明 |
|---|---|---|
dir | Vector3 | 角色应移动的方向。 |
MoveContinuously
MoveContinuously(dir: Vector2) → void
以角色当前朝向为基准,使其朝指定方向持续移动。
参数 | 类型 | 说明 |
|---|---|---|
dir | Vector2 | 以角色当前朝向为基准,角色应移动的方向。 |
MoveContinuously
MoveContinuously(dir: Vector3) → void
以角色当前朝向为基准,使其朝指定方向持续移动。
参数 | 类型 | 说明 |
|---|---|---|
dir | Vector3 | 以角色当前朝向为基准,角色应移动的方向。 |
MoveToPosition
MoveToPosition(pos: Vector3) → void
使角色移动到指定位置。
参数 | 类型 | 说明 |
|---|---|---|
pos | Vector3 | 角色应移动到的目的地。 |
StopMoving
StopMoving() → void
停止角色的移动。
Jump
Jump() → void
使角色跳跃。
DoubleJump
DoubleJump() → void
使角色进行二段跳。
Teleport
Teleport(pos: Vector3, rot: Quaternion) → void
将角色瞬间移动到指定的 transform。
参数 | 类型 | 说明 |
|---|---|---|
pos | Vector3 | 角色将被传送到的位置。 |
rot | Quaternion | 角色传送后的旋转。 |
SetGesture
SetGesture(gesture: AnimationClip) → void
播放角色对应指定手势的动作。
参数 | 类型 | 说明 |
|---|---|---|
gesture | AnimationClip | 角色将执行的手势。 |
CancelGesture
CancelGesture() → void
停止手势的播放。
GetSocket
GetSocket(socket: KnowSockets) → Transform
获取角色某个挂点的 Transform。
参数 | 类型 | 说明 |
|---|---|---|
socket | 挂点(socket)。 |
返回值: Transform — 与指定挂点关联的 Transform 组件。
GetSocket
GetSocket(socket: string) → Transform
获取角色某个挂点的 Transform。
参数 | 类型 | 说明 |
|---|---|---|
socket | string | 挂点(socket)的名称。 |
返回值: Transform — 与指定挂点关联的 Transform 组件。
GetBodyModifierProperties
GetBodyModifierProperties() → ZepetoPropertyFlag[]
获取与角色所穿戴体型变形道具关联的角色属性。
返回值: ZepetoPropertyFlag[] — 与角色所穿戴体型变形道具关联的角色属性。
DeformDefaultProperties
DeformDefaultProperties() → void
移除角色所穿戴的体型变形道具,并恢复为默认体型。
DeformDefaultCostume
DeformDefaultCostume() → void
移除角色所穿戴的体型变形道具,恢复为默认体型,并应用默认 ZEPETO 服装。
add_loadedCharacter
add_loadedCharacter(value: Action) → void
添加用于处理角色加载完成的回调函数。
参数 | 类型 |
|---|---|
value | Action |
remove_loadedCharacter
remove_loadedCharacter(value: Action) → void
移除用于处理角色加载完成的回调函数。
参数 | 类型 |
|---|---|
value | Action |
CameraData
class
表示 ZepetoCamera 的初始配置。
属性
名称 | 类型 | 说明 |
|---|---|---|
cameraPrefab | GameObject | 用于初始化 ZepetoCamera 的预制件。 |
maxZoomDistance | number | 摄像机可从目标拉远的默认最大距离。 |
minZoomDistance | number | 摄像机可向目标拉近的默认最小距离。 |
maxPitch | number | 摄像机绕目标旋转的最大垂直角度。 |
minPitch | number | 摄像机绕目标旋转的最小垂直角度。 |
offset | Vector3 | 摄像机相对于目标的默认偏移。 |
lockXAxis | boolean | 表示摄像机的 X 轴旋转是否被锁定。 |
layer | LayerMask | 定义摄像机可与之发生碰撞的层。 |
collisionTimeThreshold | number | 摄像机碰撞检测的时间阈值,影响摄像机对碰撞的响应速度。 |
zoomSpeed | number | 缩放的速度。 |
zoomDampSpeed | number | 缩放的插值速度。 |
rotationSpeed | number | 旋转的速度。 |
rotationDampSpeed | number | 旋转的插值速度。 |
characterCulling | boolean | 表示是否启用角色剔除,以避免摄像机距离过近时出现渲染问题。 |
targetScaleWeight | number | 应用于目标缩放的权重,用于调整摄像机的位置与行为。 |
CharacterData
class
表示 ZepetoCharacter 的初始配置。
属性
名称 | 类型 | 说明 |
|---|---|---|
slopeLimit | number | 角色可攀爬的最大坡度。 |
stepOffset | number | 角色可跨越的最大垂直高度差。 |
skinWidth | number | 用于碰撞检测的皮肤宽度,可防止角色陷入其他碰撞体。 |
minMoveDistance | number | 角色可通过的最小间隙。 |
center | Vector3 | 角色碰撞体的中心点。 |
radius | number | 角色胶囊碰撞体的半径。 |
height | number | 角色胶囊碰撞体的高度。 |
layer | LayerMask | 定义角色可与之发生碰撞的层。 |
shadow | GameObject | 角色阴影的视觉表现。 |
animatorController | RuntimeAnimatorController | 角色的 Animator Controller。 |
walkSpeed | number | 角色的行走速度。 |
runSpeed | number | 角色的奔跑速度。 |
jumpPower | number | 角色的跳跃力。 |
customMotionData | 角色动作的自定义配置。 |
ControllerData
class
表示 ZepetoPlayerControl 的配置。
属性
名称 | 类型 | 说明 |
|---|---|---|
inputAsset | InputActionAsset | 用于管理复杂输入配置的输入操作与绑定容器。 |
eventSystem | GameObject | 处理用户输入并传递给 UI 组件。负责按钮点击、拖动、放置等交互。 |
useDefaultVirtualController | boolean | 决定是否使用默认 V-Pad。 |
useDefaultInputController | boolean | 决定是否使用默认输入控制器。 |
verticalController | GameObject | 用于竖屏方向的 V-Pad 控制器预制件。 |
horizontalController | GameObject | 用于横屏方向的 V-Pad 控制器预制件。 |
FloatingUIData
class
负责管理角色相关 UI 设置的类。
属性
名称 | 类型 | 说明 |
|---|---|---|
showNickNameLocalPlayer | boolean | 决定是否显示本地玩家角色的昵称 UI。 |
showNickNameOtherPlayers | boolean | 决定是否显示其他玩家角色的昵称 UI。 |
showBubbleChatLocalPlayer | boolean | 决定是否显示本地玩家角色的气泡聊天 UI。 |
showBubbleChatOtherPlayers | boolean | 决定是否显示其他玩家角色的气泡聊天 UI。 |
useMiniProfileOnApp | boolean | 决定点击角色时是否显示迷你资料弹窗 UI。 |
LocalPlayer
class
用于管理本地玩家动作的类,涵盖移动、服装自定义以及 ZEPETO 摄像机交互。
属性
名称 | 类型 | 说明 |
|---|---|---|
movingAxis | Transform | 本地玩家 ZEPETO 角色的移动中心轴。 |
zepetoCamera | 与本地玩家关联的 ZEPETO 摄像机实例。 | |
zepetoPlayer | 与本地玩家关联的 ZEPETO 玩家实例。 |
方法
SetCostume
SetCostume(itemCode: string, complete?: Action) → void
更改本地玩家 ZEPETO 角色的服装。会抛出通用 Exception。
参数 | 类型 | 说明 |
|---|---|---|
itemCode | string | 服装的道具 ID。 |
complete (可选) | Action | 用于处理完成事件的回调函数。 |
Jump
Jump() → void
使本地玩家的 ZEPETO 角色跳跃。
DoubleJump
DoubleJump() → void
使本地玩家的 ZEPETO 角色进行二段跳。
Move
Move(dir: Vector2) → void
使本地玩家的 ZEPETO 角色朝指定方向移动。
参数 | 类型 | 说明 |
|---|---|---|
dir | Vector2 | 角色应移动的方向。 |
Move
Move(dir: Vector3) → void
使本地玩家的 ZEPETO 角色朝指定方向移动。
参数 | 类型 | 说明 |
|---|---|---|
dir | Vector3 | 角色应移动的方向。 |
StopMoving
StopMoving() → void
停止本地玩家的 ZEPETO 角色。
ZepetoCamera
class
为 ZEPETO Character Controller 内使用而设计的摄像机控制类。
属性
名称 | 类型 | 说明 |
|---|---|---|
additionalMaxZoomDistance | number | 在默认最大缩放值基础上追加的距离。 |
additionalMinZoomDistance | number | 在默认最小缩放值基础上追加的距离。 |
additionalOffset | Vector3 | 应用于摄像机相对目标位置的额外偏移。 |
currentState | 获取当前的摄像机状态。 | |
currentStateStatus | 获取当前摄像机状态的状况。 | |
position | Vector3 | 获取当前摄像机的位置值。 |
rotation | Quaternion | 获取当前摄像机的旋转值。 |
distance | number | 与目标之间的距离。 |
cameraParent | Transform | 摄像机父物体的 Transform。 |
isFollow | boolean | 获取表示摄像机是否正在跟随目标的标志。 |
StateMachine | 获取摄像机的状态机。 | |
FollowTarget | Transform | 获取目标的 Transform。默认情况下设置为本地玩家角色的 HEAD_UPPER。 |
MaxZoomDistance | number | 经计算得出的摄像机可从目标拉远的最大距离。 |
MinZoomDistance | number | 经计算得出的摄像机可向目标拉近的最小距离。 |
LookOffset | Vector3 | 经计算得出的摄像机相对于目标的偏移。 |
LockXAxis | boolean | 表示摄像机的 X 轴旋转是否被锁定。 |
CollisionLayer | LayerMask | 定义摄像机可与之发生碰撞的层。 |
targetScaleWeight | number | 应用于目标缩放的权重,用于调整摄像机的位置与行为。 |
useCharacterCulling | boolean | 表示是否启用角色剔除,以避免摄像机距离过近时出现渲染问题。 |
zoomSpeed | number | 缩放的速度。 |
zoomDampSpeed | number | 缩放的插值速度。 |
rotationSpeed | number | 旋转的速度。 |
rotationDampSpeed | number | 旋转的插值速度。 |
camera | Camera | Unity 的 Camera。 |
事件
名称 | 类型 | 说明 |
|---|---|---|
OnChangedState | UnityEvent<CameraState, CameraState> | 摄像机状态发生变化时触发的事件。已注册的监听器会收到两个参数: - 新的摄像机状态。(类型:CameraState) - 之前的摄像机状态。(类型:CameraState) |
OnUpdateState | UnityEvent<CameraState> | 当前摄像机状态处于 StateStatus.Update 状况时触发的事件。已注册的监听器会收到一个参数: - 当前的摄像机状态。(类型:CameraState) |
方法
Create
static Create(camera: Camera, data: CameraData) → ZepetoCamera
创建 ZepetoCamera 实例。
参数 | 类型 | 说明 |
|---|---|---|
camera | Camera | 作为 ZepetoCamera 基础的 Unity Camera 对象。 |
data | ZepetoCamera 的初始配置。 |
返回值: ZepetoCamera — ZepetoCamera 的新实例。
SetFollowTarget
SetFollowTarget(target: Transform, scaleReference?: Transform) → void
设置摄像机的跟随目标。
参数 | 类型 | 说明 |
|---|---|---|
target | Transform | 表示摄像机应跟随对象的 Transform。 |
scaleReference (可选) | Transform | 用作缩放摄像机跟随行为参考的 Transform。若提供该参数,摄像机会根据此参考对象的缩放来调整与目标之间的距离。 |
Rotate
Rotate(delta: Vector2) → void
旋转摄像机。
参数 | 类型 | 说明 |
|---|---|---|
delta | Vector2 | 旋转量。 |
DoZoom
DoZoom(delta: number) → void
缩放摄像机。
参数 | 类型 | 说明 |
|---|---|---|
delta | number | 缩放量。 |
ZepetoPlayer
class
表示 ZEPETO 玩家。
属性
名称 | 类型 | 说明 |
|---|---|---|
userId | string | 玩家的用户 ID,是在创建账号时随机分配的唯一 ID。 |
name | string | 玩家的用户名,由用户在 ZEPETO 应用中设置。 |
character | 玩家的 ZEPETO 角色。 | |
isLocalPlayer | boolean | 表示是否为本地玩家。 |
方法
GetProfileTextureAsync
GetProfileTextureAsync(complete: Action<Texture2D>) → void
获取玩家的头像。会抛出通用 Exception。
参数 | 类型 | 说明 |
|---|---|---|
complete | Action<Texture2D> | 用于处理所获取头像的回调函数。 |
Release
Release() → void
释放 ZEPETO 玩家对象。
ZepetoPlayerControl
class
管理 ZEPETO 玩家的输入控制。
方法
Create
static Create(playerActions: PlayerActions) → ZepetoPlayerControl
创建 ZepetoPlayerControl 实例。
参数 | 类型 | 说明 |
|---|---|---|
playerActions | PlayerActions | 要与 ZepetoPlayerControl 关联的输入操作集合。 |
返回值: ZepetoPlayerControl — ZepetoPlayerControl 的新实例。 该实例已挂载到新的游戏对象上,可以处理玩家的输入操作。
ZepetoCameraControl
class
管理 ZEPETO 环境中的摄像机控制,包括摄像机移动与缩放的输入处理。
方法
Create
static Create(cameraActions: CameraActions) → ZepetoCameraControl
创建 ZepetoCameraControl 实例。
参数 | 类型 | 说明 |
|---|---|---|
cameraActions | CameraActions | 要与 ZepetoCameraControl 关联的摄像机操作集合。这些操作定义了摄像机如何响应用户输入。 |
返回值: ZepetoCameraControl — ZepetoCameraControl 的新实例。 该实例已挂载到新的游戏对象上,可以处理摄像机的输入操作。
CharacterState
enum
表示 ZEPETO 角色的状态。
名称 | 值 | 说明 |
|---|---|---|
Invalid | 0 | 未初始化或无效。 |
Idle | 1 | 角色未进行任何移动或动作。 |
Walk | 2 | 角色正在缓慢移动。 |
Run | 3 | 角色正在快速移动。 |
JumpIdle | 4 | 角色正在原地跳跃。 |
JumpMove | 5 | 角色正朝某一方向跳跃,将垂直起跳与水平移动结合在一起。 |
Teleport | 20 | 角色正从一个位置移动到另一个位置,且不经过中间的空间。 |
Gesture | 30 | 角色正在执行手势。 |
Move | 102 | 一般移动状态。 |
MoveTurn | 103 | 角色正在改变移动方向。 |
Jump | 104 | 一般跳跃状态。 |
Stamp | 106 | 角色正在进行踏地动作。 |
Falling | 108 | 角色正处于自由落体状态。 |
Landing | 109 | 角色在下落后回到地面。 |
CharacterMoveState
enum
表示 ZEPETO 角色的详细移动状态。
名称 | 值 | 说明 |
|---|---|---|
None | -1 | None. |
MoveWalk | 0 | 缓慢移动。 |
MoveRun | 1 | 快速移动。 |
CharacterJumpState
enum
表示 ZEPETO 角色的详细跳跃状态。
名称 | 值 | 说明 |
|---|---|---|
None | -1 | None. |
JumpIdle | 0 | 原地跳跃。 |
JumpMove | 1 | 朝某一方向跳跃,将垂直起跳与水平移动结合在一起。 |
JumpDash | 2 | 快速跳跃。 |
JumpDouble | 3 | 在跳跃过程中进行第二次跳跃。 |
CharacterLandingState
enum
表示 ZEPETO 角色的详细落地状态。
名称 | 值 | 说明 |
|---|---|---|
None | -1 | None. |
LandingSlight | 0 | 轻微冲击的落地。 |
LandingDeep | 1 | 强烈冲击的落地。 |
LandingRoll | 2 | 翻滚落地。 |
KnowSockets
enum
定义角色上一组已知的挂点(socket)。
名称 | 值 | 说明 |
|---|---|---|
HEAD_UPPER | 0 | 表示角色头部的上半部分。 |
MotionState
class
用于管理角色动作状态与配置的类。
属性
名称 | 类型 | 说明 |
|---|---|---|
useDoubleJump | boolean | 决定角色是否可以进行二段跳。 |
doubleJumpPower | number | 二段跳时施加的额外力。 |
useLanding | boolean | 决定是否应用落地动作。 |
useLandingRoll | boolean | 决定角色落地时是否进行翻滚。 |
landingRollSpeed | number | 获取或设置角色的落地翻滚速度。 |
useMoveTurn | boolean | 决定是否播放角色改变移动方向时的动作。 |
gravity | number | 施加于角色的重力。 |
currentJumpState | 获取角色当前的跳跃状态。 | |
currentLandingState | 获取角色当前的落地状态。 | |
currentMoveState | 获取角色当前的移动状态。 |
CharacterStateMachine
class · extends StateMachine<CharacterState>
负责将 animator 与 ZEPETO 角色的角色状态保持同步的类。
属性
名称 | 类型 | 说明 |
|---|---|---|
constraintStateAnimation | boolean | 决定是否将 animator 与 ZEPETO 角色的当前角色状态同步。若设为 true,animator 状态将不会根据当前角色状态进行更新。 |
方法
SyncStateAnimation
SyncStateAnimation() → void
将 animator 与 ZEPETO 角色的当前角色状态同步。
ChangeStateAnimation
ChangeStateAnimation(state: CharacterState) → void
在 animator 上播放与所提供角色状态相对应的动画。
参数 | 类型 | 说明 |
|---|---|---|
state | 表示要播放动画的角色状态。 |
StateMachine
class
StateMachine manages the States, Transitions, and Events. 通过根据指定条件和经过时间更新状态,实现对对象各种状态的定义与控制。
属性
名称 | 类型 | 说明 |
|---|---|---|
OnChangedState | Action<TEnum, TEnum> | 摄像机状态发生变化时触发的事件。已注册的监听器会收到两个参数: - 新的状态。 - 之前的状态。 |
Events | 提供状态机中定义的所有事件的数组。 | |
Current | 获取当前状态。 | |
Prev | 获取之前的状态。 | |
IsRunning | boolean | 表示状态机是否正在处理状态与转换。 |
stateCount | number | 获取状态机中定义的状态数量。 |
transitionCount | number | 获取状态机中定义的转换数量。 |
方法
FindState
FindState(state: TEnum, success: Action<State<TEnum>>, failed: Action) → void
在状态机中查找状态,成功时执行回调。
参数 | 类型 | 说明 |
|---|---|---|
state | TEnum | 要在状态机中查找的状态。 |
success | Action<State<TEnum>> | 用于处理所找到 State 的回调函数。 |
failed | Action | 用于处理未找到该状态情况的回调函数。 |
FindTransitions
FindTransitions(from: TEnum, success: Action<Transition<TEnum>[]>, failed: Action) → void
在状态机中查找转换,成功时执行回调。
参数 | 类型 | 说明 |
|---|---|---|
from | TEnum | 转换的起始状态。 |
success | Action<Transition<TEnum>[]> | 用于处理所找到 Transition 数组的回调函数。 |
failed | Action | 用于处理未找到转换情况的回调函数。 |
FindTransition
FindTransition(from: TEnum, to: TEnum, success: Action<Transition<TEnum>>, failed: Action) → void
在状态机中查找某个转换,成功时执行回调。
参数 | 类型 | 说明 |
|---|---|---|
from | TEnum | 转换的起始状态。 |
to | TEnum | 转换将要到达的状态。 |
success | Action<Transition<TEnum>> | 用于处理所找到 Transition 的回调函数。 |
failed | Action | 用于处理未找到该转换情况的回调函数。 |
Start
Start(state: TEnum) → void
启动状态机的处理。
参数 | 类型 | 说明 |
|---|---|---|
state | TEnum | 状态机开始处理时所处的状态。 |
Update
Update(deltaTime: number) → void
更新状态机的当前状态与转换。
参数 | 类型 | 说明 |
|---|---|---|
deltaTime | number | 自上次调用 Update 以来经过的时间(秒)。 |
Stop
Stop() → void
停止状态机的处理。
EnterState
EnterState(state: TEnum) → void
将状态机转换到指定状态。
参数 | 类型 | 说明 |
|---|---|---|
state | TEnum | 状态机将要转换到的状态。 |
LeaveState
LeaveState(nextState: TEnum) → void
状态机退出当前状态。
参数 | 类型 | 说明 |
|---|---|---|
nextState | TEnum | 由当前状态的 OnLeave 处理的下一个状态。 |
StateStatus
enum
表示状态机中某个状态可能处于的状况,用于指示该状态生命周期的当前阶段。
名称 | 值 | 说明 |
|---|---|---|
Wait | 0 | 状态处于非激活状态,等待被进入。 |
Enter | 1 | 状态正处于进入过程中。 |
Update | 2 | 状态处于激活状态,其逻辑正在执行。 |
End | 3 | 状态已完成其激活阶段,准备结束。 |
Leave | 4 | 状态正处于退出过程中。 |
CustomMotionData
class
表示角色动作的自定义配置。
属性
名称 | 类型 | 说明 |
|---|---|---|
useDoubleJump | boolean | 决定角色是否可以进行二段跳。 |
doubleJumpPower | number | 二段跳时施加的额外力。 |
useLanding | boolean | 决定是否应用落地动作。 |
useLandingRoll | boolean | 决定角色落地时是否进行翻滚。 |
landingRollSpeed | number | 落地翻滚动作的播放速度。 |
useMoveTurn | boolean | 决定是否播放角色改变移动方向时的动作。 |
gravity | number | 施加于角色的重力。 |
walkThreshold | number | 触发行走动作加速所需的最小输入值。 |
runThreshold | number | 从行走动作切换为奔跑动作所需的最小输入值。 |
fallingTimeThreshold | number | 判定角色是否进入下落状态所需的最短下落时间。 |
fallingSpeedThreshold | number | 判定角色是否进入下落状态所需的最小下落速度。 |
landingTimeThreshold | number | 判定角色是否已落地所需的最短着地时间。 |
landingSpeedThreshold | number | 判定角色落地时能否执行额外动作所需的最小下落速度。 |
landingImpactSpeedThreshold | number | 判定角色落地时是否受到更大冲击所需的最小下落速度。 |
landingRollSpeedThreshold | number | 触发落地翻滚所需的最大下落速度。 |
moveTurnAngleThreshold | number | 触发转身动作所需的最小转向角度。 |
moveTurnSpeedThreshold | number | 触发转身动作所需的最小移动速度。 |
moveTurnTimeThreshold | number | 转身动作的持续时间。 |
jumpDashSpeedThreshold | number | 触发冲刺所需的最小跳跃速度。 |
walkClipBaseSpeed | number | 行走动作的基础速度。 |
stampClipNormalizedTime | number | 踏地动作的持续时间。 |
landingClipNormalizedTime | number | 落地动作的持续时间。 |
landingRollClipNormalizedTime | number | 落地翻滚动作的持续时间。 |
moveTurnClipNormalizedTime | number | 转身动作的持续时间。 |
CharacterShadow
class
负责管理 ZEPETO 角色阴影的类。
属性
名称 | 类型 | 说明 |
|---|---|---|
target | Transform | 表示作为 transform 参考的对象。 |
autoSyncTransform | boolean | 决定是否将阴影位置同步到目标。 |
CameraState
enum
表示 ZepetoCamera 的状态。
名称 | 值 | 说明 |
|---|---|---|
Idle | 0 | 摄像机未跟随目标。 |
Follow | 1 | 摄像机正在跟随目标。 |
ZepetoScreenStick
class · extends ZepetoScreenControl
用于处理 ZEPETO 环境中摇杆交互的类。
事件
名称 | 类型 | 说明 |
|---|---|---|
OnPointerDownEvent | UnityEvent | 按下摇杆时触发的事件。 |
OnDragEvent | UnityEvent<Vector2> | 拖动摇杆时触发的事件。 |
OnPointerUpEvent | UnityEvent | 松开摇杆时触发的事件。 |
方法
OnDrag
OnDrag(eventData: PointerEventData) → void
管理拖动行为,计算位置增量并将其限制在指定的移动范围内。 以归一化后的位置值触发 OnDragEvent。 会抛出 ArgumentNullException。
参数 | 类型 | 说明 |
|---|---|---|
eventData | PointerEventData | 与拖动事件相关的数据。 |
ZepetoScreenControl
class
用于在 ZEPETO 环境中创建 UI 控件的抽象类。
方法
OnPointerDown
OnPointerDown(eventData: PointerEventData) → void
处理用户按下 UI 控件时的事件。
参数 | 类型 | 说明 |
|---|---|---|
eventData | PointerEventData | 与指针按下事件相关的数据。 |
OnPointerUp
OnPointerUp(eventData: PointerEventData) → void
处理用户松开 UI 控件时的事件。
参数 | 类型 | 说明 |
|---|---|---|
eventData | PointerEventData | 与指针松开事件相关的数据。 |
ZepetoScreenButton
class · extends ZepetoScreenControl
用于处理 ZEPETO 环境中按钮交互的类。
事件
名称 | 类型 | 说明 |
|---|---|---|
OnPointDownEvent | UnityEvent | 按下按钮时触发的事件。 |
OnPointUpEvent | UnityEvent | 松开按钮时触发的事件。 |
ZepetoScreenTouchpad
class · extends ZepetoScreenControl
用于处理 ZEPETO 环境中触摸板交互的类。
属性
名称 | 类型 | 说明 |
|---|---|---|
canvasGroupTouchPadBackground | CanvasGroup | 用于管理触摸板背景不透明度与交互的 Canvas Group 组件。 |
touchPadBackgroundCurve | AnimationCurve | 用于触摸板背景淡入淡出效果的动画曲线。 |
touchHandle | RectTransform | 表示触摸手柄的 RectTransform 组件。 |
touchHandleAnimator | Animator | 用于为触摸手柄制作动画的 Animator 组件。 |
touchHandleOrigin | RectTransform | 表示触摸手柄原始位置的 RectTransform。 |
touchHandleOriginAnimator | Animator | 用于触摸手柄原点的 Animator 组件。 |
事件
名称 | 类型 | 说明 |
|---|---|---|
OnPointerDownEvent | UnityEvent | 按下触摸板时触发的事件。 |
OnDragEvent | UnityEvent<Vector2> | 拖动触摸板时触发的事件。 |
OnPointerUpEvent | UnityEvent | 松开触摸板时触发的事件。 |
方法
OnPointerClick
OnPointerClick(eventData: PointerEventData) → void
处理触摸板上的点击事件。会抛出 ArgumentNullException。
参数 | 类型 | 说明 |
|---|---|---|
eventData | PointerEventData | 与拖动事件相关的数据。 |
OnDrag
OnDrag(eventData: PointerEventData) → void
管理拖动行为,计算位置增量并将其限制在指定的移动范围内。 以归一化后的位置值触发 OnDragEvent。 会抛出 ArgumentNullException。
参数 | 类型 | 说明 |
|---|---|---|
eventData | PointerEventData | 与拖动事件相关的数据。 |
UIZepetoPlayerControl
class
为本地玩家角色提供基于 UI 的控制的类。
方法
StartMoving
StartMoving() → void
将本地玩家角色的移动标志设为 true。
Move
Move(delta: Vector2) → void
设置本地玩家 ZEPETO 角色的移动方向。
参数 | 类型 |
|---|---|
delta | Vector2 |
StopMoving
StopMoving() → void
停止本地玩家的 ZEPETO 角色。
Jump
Jump() → void
使本地玩家的 ZEPETO 角色跳跃。
DoubleJump
DoubleJump() → void
使本地玩家的 ZEPETO 角色进行二段跳。
Update
Update() → void
更新本地玩家 ZEPETO 角色的移动方向。
InputHelper
class
用于辅助输入处理的工具类。
方法
IsPointerOverUIObjectCurrentPosition
static IsPointerOverUIObjectCurrentPosition() → boolean
判断指针当前是否位于 UI 对象之上。
返回值: boolean — 若指针位于 UI 对象之上,则返回 true。
IsPointerOverUIObject
static IsPointerOverUIObject(position: Vector2) → boolean
检查屏幕上的指定位置是否位于 UI 元素之上。
参数 | 类型 | 说明 |
|---|---|---|
position | Vector2 | 屏幕上的位置。 |
返回值: boolean — 若该位置位于 UI 对象之上,则返回 true。
EventReceiver
class
负责处理 ZEPETO World 内角色相关事件或通用事件的类。
事件
名称 | 类型 | 说明 |
|---|---|---|
OnCharacterClick (static) | UnityEvent<string, ZepetoContext> | 点击角色时触发的事件。 |
OnCharacterProfileClick (static) | UnityEvent<string, ZepetoContext> | 点击角色资料时触发的事件。 |
OnClick (static) | UnityEvent<number> | 可用于各类交互元素的通用点击事件。 |
TransitionBase
class
用于定义状态机中状态之间转换的基类。
属性
名称 | 类型 | 说明 |
|---|---|---|
To | TEnum | 转换将要到达的状态。 |
Duration | number | 转换从开始到结束应持续的时间(秒)。 |
Status | 转换的状况。 | |
IsRunning | boolean | 表示该转换当前是否处于 StateStatus.Enter 或 StateStatus.Update 状况。 |
方法
Check
Check() → boolean
检查触发转换的条件是否满足。
返回值: boolean — 若转换的条件已满足,则为 true。
State
class
表示状态机中的一个状态。
属性
名称 | 类型 | 说明 |
|---|---|---|
OnUpdateState | Action<TEnum> | 用于处理状态更新的回调函数。 |
stateType | TEnum | 状态的类型。 |
Status | 状态的状况。 |
Transition
class · extends TransitionBase<TEnum>
用于定义状态机中状态之间转换的泛型类。
属性
名称 | 类型 | 说明 |
|---|---|---|
From | TEnum | 转换的起始状态。 |
ZepetoCharacter.LoadingStatus
enum
ZEPETO 角色的加载状态。
名称 | 值 | 说明 |
|---|---|---|
NotLoaded | 0 | 角色尚未开始加载过程。 |
Loading | 1 | 角色正处于加载过程中。 |
Loaded | 2 | 角色已完全加载。 |
Error | 3 | 加载过程中发生错误。 |
PlayerControlMode
enum
名称 | 值 |
|---|---|
Default | 0 |
WalkOnly | 1 |
RunOnly | 2 |