3.1 KiB
3.1 KiB
| 1 | asset_type | naming_pattern | source_format | export_format | authoring_size | unity_import | filtering | compression | atlas_or_group | pivot_or_slice | validation |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | WorldCharacter | CHR_{id}_{skin}_{action}_{frame} | Aseprite or PSD | PNG RGBA | 96-192px logical height | Sprite Multiple; PPU32; mesh FullRect | Point no mipmaps | ASTC 6x6 Android / ASTC 6x6 iOS | Atlas_CHR_{family} | feet pivot normalized y=0.08 | All frames integer aligned; no edge alpha bleed |
| 3 | Monster | MON_{biome}_{family}_{variant}_{action}_{frame} | Aseprite or PSD | PNG RGBA | 64-144px logical height | Sprite Multiple; PPU32 | Point no mipmaps | ASTC 6x6 | Atlas_MON_{biome} | feet pivot normalized y=0.08 | Silhouette and hostile accent check |
| 4 | Boss | BOSS_{id}_{phase}_{action}_{frame} | Aseprite or PSD | PNG RGBA | 192x137 minimum logical box | Sprite Multiple; PPU32 | Point no mipmaps | ASTC 4x4 | Addressables/Boss_{id} | feet pivot shared across every clip | No frame exceeds box without explicit socket update |
| 5 | BiomeBack | ENV_{biome}_Back_{index} | PSD layered | PNG RGB | 1920x1080 source or 320x180 pixel base | Sprite Single; mipmaps optional | Point when pixel base otherwise Bilinear | ASTC 6x6 | Addressables/Biome_{biome} | center pivot | No alpha unless parallax cutout is required |
| 6 | BiomeFront | ENV_{biome}_Front_{index} | PSD layered | PNG RGBA | 1920x1080 source or 320x180 pixel base | Sprite Single | Point when pixel base | ASTC 6x6 | Addressables/Biome_{biome} | bottom center | Playable edge has >=4px value separation |
| 7 | Tile | UI_TILE_{type}_{state} | PSD or vector master | PNG RGBA | 256x256 source | Sprite Single | Point or Bilinear by family; never mixed in same atlas | ASTC 6x6 | Atlas_UI_Tile | center pivot with 4px transparent safe edge | Recognizable at 64x64 |
| 8 | UI9Slice | UI_PANEL_{family}_{state} | PSD or vector master | PNG RGBA | minimum 96x96 source | Sprite Single | Point or Bilinear by family | ASTC 6x6 | Atlas_UI_Core | border >=12px; corners never scaled | Stress test at 50%-250% size |
| 9 | Icon | ICON_{domain}_{id}_{state} | PSD or vector master | PNG RGBA | 256x256 source | Sprite Single | Bilinear no mipmaps | ASTC 6x6 | Atlas_ICON_{domain} | centered optical bounds | Readable at 48x48 and grayscale |
| 10 | Portrait | PORT_{character}_{expression} | PSD layered | PNG RGBA | 1024x1024 or 1024x768 | Sprite Single | Bilinear no mipmaps | ASTC 6x6 | Addressables/Portraits | anchor eyes and pointer hand | Face readable at 160px height |
| 11 | VFXSheet | VFX_{element}_{shape}_{variant} | Aseprite or EmberGen sheet | PNG RGBA | 64-256px cells; power-of-two sheet | Sprite Multiple | Point for pixel VFX; Bilinear for soft masks | ASTC 4x4 | Atlas_VFX_{element} | center or impact-origin pivot | Frame count and FPS stored in clip metadata |
| 12 | Font | FONT_{family}_{weight} | OTF or TTF | TMP asset | CJK dynamic source + 4096 atlas | TMP Dynamic | Linear | R8 or platform default | Group_Font_{locale} | fallback chain defined | No missing glyphs in zh-Hans zh-Hant en ja ko |
| 13 | Animation | ANIM_{assetId}_{action}_{variant} | Unity clip or Aseprite tags | AnimationClip | 60Hz timeline | n/a | n/a | n/a | Controller_{assetId} | events are presentation-only | No damage or reward logic depends solely on clip event |
| 14 | Material | MAT_{domain}_{blend}_{variant} | ShaderGraph or material | Unity Material | n/a | SRP Batcher compatible | n/a | n/a | Group_Materials | n/a | Keywords <=4 and mobile variant provided |