角色索引
总览
| 项目 | 数量 |
|---|---|
| CharacterDefinition | 55 |
有 targetSpinePrefab 的角色 | 33 |
| 没有 Spine Prefab 的角色 | 22 |
| CharacterState 资产 | 127 |
| 带 Skin 的 CharacterState | 27 |
| 引用 PixelAnimation 的 CharacterState | 17 |
| 带背景预制体的 CharacterState | 75 |
| 独立 PixelAnimation 资产 | 19 |
可用动作标签口径
本表由 InfantGod/Animation/Update Character Action Index 一次性扫描生成。标签使用 CharacterState.TechName,不是资产文件名;只有拥有 Spine Prefab 且能满足状态 Skin、PixelAnimation 轨道引用的角色才会列出。纯背景状态(无 Skin、无 PixelAnimation)不列入动作标签。
对话情绪标签
当前只有 Aistalt 在 dialogueEmotionTags 中声明了对话情绪候选:
Happy
Sad
Idle
Shy
Funny
Bored
Angry
Cold
Fear
Hate
Naughty
Complex
Idol_1
Horror
Suprised
Confused这些标签全部通过当前的 Spine Skin 兼容性检查。其他角色的 dialogueEmotionTags 当前为空,因此不能据此宣称它们支持上述全部通用情绪。它们可能通过初始状态、角色专属状态或直接的 SetNPCState 调用使用动画。
角色定义与初始状态
下表中的“Spine”表示 CharacterDefinition.targetSpinePrefab 非空;“初始状态”表示创建角色时依次应用的状态,不是完整可用状态列表。
| TechName | Spine | 初始状态 | 可用动作标签 |
|---|---|---|---|
| Aistalt | 是 | Idle, BG_BG_CS_2, TailLoop | Ahegao, Angry, Bored, Cold, Complex, Confused, Fear, Funny, Gothic_Idle, Happy, Hate, Horror, Idle, Idle_Clear, Idol_1, Idol_2, Naughty, Sad, Salute01, Salute02, Shy, Suprised, TailLoop |
| Aistalt_Fake | 否 | Idle | 无 Spine |
| AutoMech | 否 | Idle | 无 Spine |
| Biden | 是 | Idle, BG_BG_Biden | Gothic_Idle |
| Boss | 否 | Idle | 无 Spine |
| BotChecker | 是 | Idle, BG_BG_BotChecker | BotChecker_Wild, Gothic_Idle |
| Censored | 否 | 无 | 无 Spine |
| Commissar | 是 | Idle, BG_BG_Commissar | Gothic_Idle |
| Company | 是 | Idle, BG_BG_Normal1 | Angry, Complex, Fear, Gothic_Idle, Happy, Sad |
| Cop | 是 | Idle, BG_BG_Cop | Gothic_Idle |
| Docker | 是 | Idle | Gothic_Idle |
| Donut | 否 | Idle | 无 Spine |
| DryWare | 否 | Idle | 无 Spine |
| Gachi | 是 | Idle, BG_BG_Gachi4 | Angry, Complex, Fear, Gothic_Idle, Happy, Horray, Sad |
| Gothic | 是 | Idle, BG_BG_Gothic | Gothic_Idle, Gothic_Lit, Gothic_Unlit |
| Grandma | 否 | Idle | 无 Spine |
| Greenguard | 是 | Idle, BG_BG_CS_3 | Gb_Green, Gb_Riot, Gothic_Idle |
| Greta | 是 | Idle, BG_BG_Greta2 | Angry, Cold, Complex, Fear, Gothic_Idle, Greta_Formal, Happy, Sad |
| Gunner | 否 | Idle | 无 Spine |
| Hachimide | 是 | Idle | Ahegao, Angry, Bored, Cold, Complex, Confused, Fear, Funny, Gothic_Idle, Happy, Hate, Horror, Idle, Idle_Clear, Idol_1, Idol_2, Naughty, Sad, Salute01, Salute02, Shy, Suprised, TailLoop |
| Horse | 否 | Idle | 无 Spine |
| Hound | 否 | Idle | 无 Spine |
| Journalist | 是 | Idle, BG_BG_Normal2 | Angry, Bored, Cold, Complex, Fear, Funny, Gothic_Idle, Happy, Sad, Shy |
| Judge | 是 | Idle, BG_BG_Lawyer | Angry, Complex, Fear, Gothic_Idle, Happy, Sad |
| Kend | 否 | Idle | 无 Spine |
| Kenny | 是 | Idle, BG_BG_Kenny | Gothic_Idle |
| MaoGirl | 是 | Idle, BG_BG_MaoGirl_export | Angry, Complex, Fear, Gothic_Idle, Happy, Sad |
| Masturbator | 是 | Idle, BG_BG_Masturbator | Ahegao, Angry, Bored, Cold, Complex, Confused, Ero, Fear, Funny, Gothic_Idle, Happy, MiaEro, Sad, Shy, Suprised |
| Mesuga | 是 | Idle | Gothic_Idle |
| MiShio | 否 | 无 | 无 Spine |
| MoldLand | 是 | Idle, BG_BG_MoldLand_Room | Gothic_Idle |
| Mom | 是 | Idle | Gothic_Idle |
| Muslim | 是 | Idle, BG_BG_Street_Dusk | Gothic_Idle |
| Muted | 否 | Idle | 无 Spine |
| Nana | 是 | Idle, BG_BG_Nana3 | Gothic_Idle |
| Narrator | 否 | Idle | 无 Spine |
| Nerd | 是 | Idle, BG_Nerd | Gothic_Idle |
| News | 是 | Idle, BG_BG_News | Gothic_Idle |
| NoBody | 是 | Idle, BG_BG_BigAn | Complex, Gothic_Idle, Happy, Sad |
| Player | 否 | 无 | 无 Spine |
| Purger | 是 | Idle, BG_BG_Purgeon | Gothic_Idle |
| Rockstar | 否 | Idle | 无 Spine |
| Runner | 否 | Idle | 无 Spine |
| Seer | 否 | Idle | 无 Spine |
| Slave | 否 | Idle | 无 Spine |
| Soldier | 是 | Idle, BG_BG_Millitary_3 | Angry, Bored, Cold, Complex, Confused, Fear, Funny, Gothic_Idle, Sad, Salute01, Salute02, Shy, Suprised |
| Student | 否 | Idle | 无 Spine |
| Terrorist | 是 | Idle, BG_BG_Sand3 | Gothic_Idle |
| Trump | 是 | Idle, BG_BG_Trumbo | Gothic_Idle |
| Tsar | 否 | Idle, BG_BG_Arid_2 | 无 Spine |
| Vampire | 否 | Idle | 无 Spine |
| Veteran | 是 | Idle, BG_SuicideBG | Gothic_Idle, Vt_Die, Vt_Drink, Vt_Hand_2, Vt_Hand_3, Vt_Hand_4, Vt_Hand_5, Vt_UnDrink |
| Victim | 是 | Idle, BG_BG_Sand1 | Angry, Cold, Complex, Fear, Gothic_Idle, Happy, Sad, Shy |
| Vmz | 是 | Idle, BG_BG_Normal1 | Gothic_Idle |
| Worker | 是 | Idle | Gothic_Idle |
没有 Spine Prefab 的角色
Aistalt_Fake
AutoMech
Boss
Censored
Donut
DryWare
Grandma
Gunner
Horse
Hound
Kend
MiShio
Muted
Narrator
Player
Rockstar
Runner
Seer
Slave
Student
Tsar
Vampire这些角色定义可以参与对话、邮件或其他非 Spine 系统,但不能直接依赖 CharacterAnimationController 的 Spine Skin、Slot Attachment 或 Spine Animation 能力。
角色专属状态资产
以下状态按资源命名和引用关系归为角色专属,不应直接套用到其他角色:
| 角色 | 状态 |
|---|---|
| Aistalt | Idol_1, Idol_2, Salute01, Salute02, TailLoop |
| BotChecker | BotChecker_Arid, BotChecker_Wild |
| Gothic | Gothic_Idle, Gothic_Lit, Gothic_Unlit |
| Greenguard | Green, Riot |
| Greta | Greta_Angry_1, Greta_Angry_2, Greta_Formal, Greta_Vomit_1, Greta_Vomit_2, Greta_Vomit_3 |
| Soldier | Soldier_Salute_1, Soldier_Salute_2, Soldier_Smoke_1, Soldier_Smoke_2, Soldier_Smoke_3, Soldier_Smoke_4, Soldier_Smoke_Idle |
| Veteran | Vt_Die, Vt_Drink, Vt_Hand_2, Vt_Hand_3, Vt_Hand_4, Vt_Hand_5, Vt_UnDrink |
其中部分状态只包含动作轨道,没有 Skin;“状态可用”仍要求目标角色拥有动作轨道引用的 Bone、Slot、Attachment 或 Spine Animation。
状态类型统计
面部 Skin 状态
典型状态:
Ahegao, Angry, Bored, Cold, Complex, Confused, Ero,
Fear, Funny, Happy, Hate, Horror, MiaEro, Naughty,
Sad, Shy, Suprised这些状态通常包含 Eyes/<Value>、Mouth/<Value>,不能仅凭名称判断所有 Spine 角色都支持。
背景状态
所有以 BG_ 开头的状态都属于背景状态,例如:
BG_BG_A_A
BG_BG_A_Empathy
BG_BG_A_Tech
BG_BG_A_Troll
BG_BG_BotChecker
BG_BG_Gothic
BG_BG_Greta2
BG_BG_MaoGirl_export
BG_BG_Nerd
BG_BG_Snow
BG_BG_Street_Day
BG_BG_Street_Night
BG_BG_Veteran背景状态可以没有 Spine Skin,因此它们不是表情状态。
PixelAnimation 状态
当前状态资产中引用 PixelAnimation 的代表性状态:
Idle
Idle_Clear
Horray
Idol_1
Idol_2
Salute01
Salute02
TailLoop
Vt_Die
Vt_Drink
Vt_Hand_2
Vt_Hand_3
Vt_Hand_4
Vt_Hand_5
Vt_UnDrink实际启用的动作由状态的 enablePixelAnimations / disablePixelAnimations 决定。
如何确认一个状态能否给某角色使用
- 找到角色的
CharacterDefinition; - 确认
targetSpinePrefab不为空; - 打开目标 Spine Prefab 的
SkeletonDataAsset; - 检查状态中每个
skin+value对应的组合,例如Eyes/Happy; - 检查状态引用的 PixelAnimation 轨道是否使用了存在的 Bone、Slot、Attachment 和 Spine Animation;
- 在 Yarn 中调用
SetNPCState或使用#state:实际测试。
结论
“角色可用状态”不是一个全局固定数组,而是:
全局已注册 CharacterState
∩
目标角色 SkeletonData 能满足的 Skin/动画引用
∩
剧情或角色定义允许使用的状态因此 Mod 作者应把状态和角色作为一组资源测试,而不是只复制一个 Happy.json 就假设所有角色都能使用。