跳转到正文
iPlugin

制作全身人物

创建人物模板,上传或选择皮肤,预览人物,并在布局中复用与局部覆盖

先制作可复用的人物模板,再把它作为普通布局元素使用。人物显示全身皮肤;只需要脸部时使用头像。

按项目导入打开 Xerr 插件目录 ZIP。自带 player_card 模板和 avatar_example 布局可供对照;本教程新建独立模板 studio_avatar,不修改默认人物。

新建人物模板

在「模板 → 人物」新建模板,填写 ID studio_avatar。模板位于 core/template/avatar;布局引用模板 ID,文件夹只用于整理。

皮肤来源选择玩家皮肤(player),目标选观看者(viewer),先保留以下设置:

设置值
高度96
模型auto
水平视角 yaw-20
俯仰视角 pitch5
动作待机(idle)

高度可在 16~256 之间调整,宽度自动计算。classic 为常规手臂,slim 为细手臂;auto 使用玩家皮肤模型信息,没有信息时按 classic 处理。

选择玩家或上传本地皮肤

玩家皮肤可设置四种目标:

  • 观看者(viewer):在游戏中,每位观看者显示自己的皮肤。
  • 指定玩家(player):填写玩家名或 UUID,二选一。
  • 布局变量(variable):填写变量键,调用方提供玩家名或 UUID。
  • Kether(kether):脚本返回玩家、UUID、玩家名或 null,目标求值间隔默认为 20 tick。

玩家预览使用 Steve 样例,本地皮肤使用上传图片。

制作固定角色时,将皮肤来源切换为本地文件(file),上传标准 64×64 PNG 皮肤,或选择项目内已有文件。上传 guide.png 后保存在 core/assets/skin/guide.png,配置只写相对路径:

skin:
  type: file
  file: guide.png
  model: slim

每张图片不超过 1 MiB。路径使用小写字母、数字、下划线、连字符和 /,以 .png 结尾;不填写绝对路径、外部链接或普通图片组 ID。旧版 64×32 皮肤需先转换为 64×64。

编辑器会实际绘制上传的全身皮肤。用预览检查皮肤外层与手臂宽度;细手臂本地皮肤选择 slim,本地文件使用 auto 时按 classic 处理。

人物模板的皮肤、尺寸设置与全身预览

预览视角与动作

调整 yaw(-180~180)和 pitch(-30~30),观察人物朝向;调整高度检查尺寸,不要用布局坐标代替视角设置。

编辑器可预览静止(still)、待机(idle)、行走(walk)、跑步(run)和挥手(wave)等预设动作。

在游戏中,follow 跟随在线目标的待机、行走、跑步、潜行、跳跃和头部朝向。默认跟随皮肤目标,也可以单独选择动作目标;本地角色跟随观看者时设置 motion.target.type: viewer。

在布局中引用人物

打开需要人物的普通布局,从「添加 → 人物」创建元素,选择模板 studio_avatar。

  1. 先设置屏幕锚点,例如 x: 15、y: 40。
  2. 用元素 x、y 调整锚点附近的局部位置。
  3. 与文字或图片重叠时调整层级。位置留在布局中,不写入人物模板。

默认继承模板的目标和动作。只改变当前人物时,开启局部目标或动作覆盖,例如:

avatar:
  template: studio_avatar
  target:
    type: player
    name: Alex
  motion:
    type: wave

两项覆盖各自生效,只影响当前引用;关闭覆盖后恢复模板默认值。修改模板的皮肤、尺寸、模型或视角会影响所有引用,需要不同外观时另建模板。

动作覆盖是整体替换。覆盖为 follow 却省略动作目标时,将跟随当前皮肤目标,不继承模板中的单独动作目标。本地皮肤的目标覆盖不会更换 PNG。

布局中的人物引用、屏幕锚点和局部坐标

一个布局最多四个人物。字段和完整示例见人物布局引用。

绑定显示并发布

布局还需交给 HUD 或其它显示系统。首次操作可接着完成绑定到 HUD,不需要另一套人物显示系统。

导出 ZIP,保留人物模板、布局及使用到的 core/assets/skin 文件。按项目与发布应用到服务器,执行 /xerr reload、/xerr pack,让客户端加载新包,再检查真实皮肤、动作和位置。

常见问题

  • 本地皮肤无法使用:检查 PNG 格式、64×64 尺寸、文件大小和相对路径,并确认文件随 ZIP 导出。
  • 只有当前人物需要挥手:覆盖布局元素的动作,不要修改共享模板。
  • 游戏中显示 Steve:玩家皮肤可能仍在加载或目标不可用;检查名字、UUID、变量与皮肤来源。
  • 游戏中跟随一直待机:检查目标是否在线、能否解析,以及显示容器是否刷新内容。

全部字段与限制见人物模板参考。