feedback2 WA: DESIGN §22.1 (Back-facing operators play their fall, GitHub issue #25), docs/ASSETS.md model choice and die role
This commit is contained in:
1 parent
072e1231ae
commit
e08f22447b
2 files changed
+16
-4
No files matched your search
+3
-2
@@ -197,7 +197,8 @@ Roles = {
|
||||
attackDown: Clip|null, // _Down variants (target below the unit)
|
||||
skill: SkillClip|null, // for the chess's default skill (primary index)
|
||||
skills?: { [index]: SkillClip }, // when the char is used with several default skills (backups)
|
||||
die: string|null, // null ⇒ use the Front model's Die (Back lacks it) or fade out 0.5 s
|
||||
die: string|null, // null ⇒ a Back model gives way to the Front model's Die (DESIGN §22.1); any other
|
||||
// skeleton holds its idle's first frame while it fades out
|
||||
move: Clip|null, // enemies: Move_Begin|Move_Start + Move_Loop|Move + Move_End → Run_*
|
||||
stun: Clip|null // null ⇒ freeze the track (timeScale 0)
|
||||
}
|
||||
@@ -237,7 +238,7 @@ Not mapped (clip names ambiguous): “自在”, “巨大的丑东西”, 主
|
||||
is not known) keep their manifest clips.
|
||||
|
||||
Other renderer rules from research 07 §5.4–5.5:
|
||||
- **Choosing the model:** Front when the unit faces right or down; Front mirrored when facing left; Back when facing up.
|
||||
- **Choosing the model:** Front when the unit faces right or down; Front mirrored when facing left; Back when facing up — while it stands: a dead or knocked-out operator falls and lies with the Front model unless its Back skeleton has a Die clip of its own (131 of the 135 have none; DESIGN §22.1, GitHub issue #25).
|
||||
- **Attack speed:** set the attack `timeScale` to `duration / attackInterval`.
|
||||
- **Model size:** every skeleton is drawn at one `UNIT.modelScale` (render/style.js, 320 skeleton units per tile), which stands for the official standard. The official client also scales each enemy model in its battle prefab: the Graphic / FaceSwitcher / Spine transforms multiply to 0.27 for most enemies and for the operators' battle skins, but not for all of them. For example, 威龙 is 0.16, 妖怪 0.20 and 青铜镜 0.6. The skeletons themselves carry no such scale, because every enemy SkeletonDataAsset uses 0.01. So an enemy is drawn × data/enemies.json `modelScale` (its prefab's product ÷ 0.27, see docs/DATA.md; user playtest #6: 威龙 used to be drawn 1.35× a 妖怪 instead of 1.08×), and its HP bar sits on that model: at its setup-pose bounds' height × the same factors, or, for a skeleton without bounds, at the chibi headroom × `modelScale` (bosses 2.2 tiles). `tools/local-extract/enemy_scales.py` reads the products from a local client, and `tools/build-data.mjs MODEL_SCALES` keeps them.
|
||||
- **Enemy aliases:** `enemies[id].spineAliasOf` means the model belongs to another enemy. Two cases:
|
||||
|
||||
Reference in new issue
Block a user