角色索引

总览

项目数量
CharacterDefinition55
有 targetSpinePrefab 的角色33
没有 Spine Prefab 的角色22
CharacterState 资产127
带 Skin 的 CharacterState27
引用 PixelAnimation 的 CharacterState17
带背景预制体的 CharacterState75
独立 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 非空;“初始状态”表示创建角色时依次应用的状态,不是完整可用状态列表。

TechNameSpine初始状态可用动作标签
Aistalt是Idle, BG_BG_CS_2, TailLoopAhegao, 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_BidenGothic_Idle
Boss否Idle无 Spine
BotChecker是Idle, BG_BG_BotCheckerBotChecker_Wild, Gothic_Idle
Censored否无无 Spine
Commissar是Idle, BG_BG_CommissarGothic_Idle
Company是Idle, BG_BG_Normal1Angry, Complex, Fear, Gothic_Idle, Happy, Sad
Cop是Idle, BG_BG_CopGothic_Idle
Docker是IdleGothic_Idle
Donut否Idle无 Spine
DryWare否Idle无 Spine
Gachi是Idle, BG_BG_Gachi4Angry, Complex, Fear, Gothic_Idle, Happy, Horray, Sad
Gothic是Idle, BG_BG_GothicGothic_Idle, Gothic_Lit, Gothic_Unlit
Grandma否Idle无 Spine
Greenguard是Idle, BG_BG_CS_3Gb_Green, Gb_Riot, Gothic_Idle
Greta是Idle, BG_BG_Greta2Angry, Cold, Complex, Fear, Gothic_Idle, Greta_Formal, Happy, Sad
Gunner否Idle无 Spine
Hachimide是IdleAhegao, 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_Normal2Angry, Bored, Cold, Complex, Fear, Funny, Gothic_Idle, Happy, Sad, Shy
Judge是Idle, BG_BG_LawyerAngry, Complex, Fear, Gothic_Idle, Happy, Sad
Kend否Idle无 Spine
Kenny是Idle, BG_BG_KennyGothic_Idle
MaoGirl是Idle, BG_BG_MaoGirl_exportAngry, Complex, Fear, Gothic_Idle, Happy, Sad
Masturbator是Idle, BG_BG_MasturbatorAhegao, Angry, Bored, Cold, Complex, Confused, Ero, Fear, Funny, Gothic_Idle, Happy, MiaEro, Sad, Shy, Suprised
Mesuga是IdleGothic_Idle
MiShio否无无 Spine
MoldLand是Idle, BG_BG_MoldLand_RoomGothic_Idle
Mom是IdleGothic_Idle
Muslim是Idle, BG_BG_Street_DuskGothic_Idle
Muted否Idle无 Spine
Nana是Idle, BG_BG_Nana3Gothic_Idle
Narrator否Idle无 Spine
Nerd是Idle, BG_NerdGothic_Idle
News是Idle, BG_BG_NewsGothic_Idle
NoBody是Idle, BG_BG_BigAnComplex, Gothic_Idle, Happy, Sad
Player否无无 Spine
Purger是Idle, BG_BG_PurgeonGothic_Idle
Rockstar否Idle无 Spine
Runner否Idle无 Spine
Seer否Idle无 Spine
Slave否Idle无 Spine
Soldier是Idle, BG_BG_Millitary_3Angry, Bored, Cold, Complex, Confused, Fear, Funny, Gothic_Idle, Sad, Salute01, Salute02, Shy, Suprised
Student否Idle无 Spine
Terrorist是Idle, BG_BG_Sand3Gothic_Idle
Trump是Idle, BG_BG_TrumboGothic_Idle
Tsar否Idle, BG_BG_Arid_2无 Spine
Vampire否Idle无 Spine
Veteran是Idle, BG_SuicideBGGothic_Idle, Vt_Die, Vt_Drink, Vt_Hand_2, Vt_Hand_3, Vt_Hand_4, Vt_Hand_5, Vt_UnDrink
Victim是Idle, BG_BG_Sand1Angry, Cold, Complex, Fear, Gothic_Idle, Happy, Sad, Shy
Vmz是Idle, BG_BG_Normal1Gothic_Idle
Worker是IdleGothic_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 能力。

角色专属状态资产

以下状态按资源命名和引用关系归为角色专属,不应直接套用到其他角色:

角色状态
AistaltIdol_1, Idol_2, Salute01, Salute02, TailLoop
BotCheckerBotChecker_Arid, BotChecker_Wild
GothicGothic_Idle, Gothic_Lit, Gothic_Unlit
GreenguardGreen, Riot
GretaGreta_Angry_1, Greta_Angry_2, Greta_Formal, Greta_Vomit_1, Greta_Vomit_2, Greta_Vomit_3
SoldierSoldier_Salute_1, Soldier_Salute_2, Soldier_Smoke_1, Soldier_Smoke_2, Soldier_Smoke_3, Soldier_Smoke_4, Soldier_Smoke_Idle
VeteranVt_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 决定。

如何确认一个状态能否给某角色使用

  1. 找到角色的 CharacterDefinition;
  2. 确认 targetSpinePrefab 不为空;
  3. 打开目标 Spine Prefab 的 SkeletonDataAsset;
  4. 检查状态中每个 skin + value 对应的组合,例如 Eyes/Happy;
  5. 检查状态引用的 PixelAnimation 轨道是否使用了存在的 Bone、Slot、Attachment 和 Spine Animation;
  6. 在 Yarn 中调用 SetNPCState 或使用 #state: 实际测试。

结论

“角色可用状态”不是一个全局固定数组,而是:

全局已注册 CharacterState
∩
目标角色 SkeletonData 能满足的 Skin/动画引用
∩
剧情或角色定义允许使用的状态

因此 Mod 作者应把状态和角色作为一组资源测试,而不是只复制一个 Happy.json 就假设所有角色都能使用。