用途:在 MSW 项目中管理角色头像的外观与动作。外观由 MOD.Core.CostumeManagerComponent 的 17 个 Custom*Equip 字符串槽位控制;动画由 StateComponent、AvatarStateAnimationComponent、AvatarRendererComponent 三层管线驱动,只改一层会被其他层覆盖。
主要能力:按目标选择编辑文件——DefaultPlayer 改 ./Global/DefaultPlayer.model 的 Values 数组,地图内实体改 ./map/{mapName}.map 中实体的 jsonString.@components,仅引用自定义模型的实体改对应 .model。槽位值须为 32 位十六进制 RUID,禁止猜测,需用 msw-search 查询;Custom*Equip 只接受纯 Guid,带前缀(如 thumbnail://)会被静默拒绝。空字符串表示卸下。长袍与上衣+裤子、双手武器与单手武器+副手、盾与副手存在槽位互斥。
动画:IsLegacy=false 时使用 StateToAvatarBodyActionSheet,默认含 IDLE、MOVE、ATTACK、HIT、CROUCH、FALL、JUMP、CLIMB、LADDER、DEAD、SIT 等键;State 键为大写,AvatarBodyActionStateName 为小写。触发状态用 StateComponent:ChangeState("ATTACK"),大小写错误会静默失效。装备武器后攻击动作按武器类型解析为 swingO1、shoot1 等。挂载 PlayerControllerComponent 会自动添加并切换部分状态。
用法:编辑文件后必须调用 msw-maker-mcp 的 refresh 工具同步编辑器。颜色与透明度用 AvatarRendererComponent 的 SetColor、SetAlpha、SetAvatarPartColor;SpriteRendererComponent.Color 与 FlipX 对头像实体无效,朝向应使用 MovementComponent 的朝向 API。
限制:RUID 需通过搜索获取;部分地图为二进制格式时编辑方式可能不同;资料未提供收费、价格与平台信息。