HUD
The HUD is built with its stamina meter, its quest tracker, the deployed team's portraits, the member on the field's health and its skill and burst buttons, beside the Paimon button, the minimap and the touch controls. Each piece stands in its fitted rect of the game's own tree, but every size and colour of those is provisional. This page keeps what is still unbuilt. It builds on interface layout, which places every screen by the game's own rect tree.
Decisions
- Laid out by the game's own tree. Each piece sits in the
GameRectof its place in the HUD's RectTransform tree, as the login's interface does. Built: the HUD's block has its entry inDerivedAssetComponentMap,genshin:assets interfaceexports it andfitHudwrites its rects. Each piece rides in its game parent, so the screen holds on any window shape. - Measured like the login. Each piece's size and colour come from a recording of the English PC client's world at 1080 high (showing the Paimon button, the minimap turning as the camera turns, the party down the right through a switch, the stamina meter draining to empty and refilling, a quest navigated on its tracker, and a fight with the HP bar falling, the skill on its cooldown and the burst filling, used and cooling), published ones searched first, named in
ParityReferenceMap. The screen is compared over that recording's own frame with the scene behind it, then shot bare and approved in the visual suite, with its fixture and reference beside it. - The HUD's block is the in-level page's block. The asset index holds no GameObject, so the block is found by an indexed asset beside the page, as the login's is. The page's GameObject,
InLevelMainPage, is in00/04803507.blk, and its clips (Ani_InLevelMainPage_FadeIn,_FadeOutin00/03931010.blk,_VirtualDial_Showand_Hidein00/13058112.blk) are named for it, asLoginMainPage's are the login's. The anchor isTeamBtn_MP, the party button's Animator, which only00/04803507.blkholds among the game's blocks, whereGrpMainPageis in four. Its root isInLevelMainPage: its tree holdsGrpMiniMap,BtnPlayerProfile,SPBar,TeamBtnContainerandGrpActionBtn, the minimap, Paimon's button, the stamina meter, the party and the skill buttons. - Paimon's mark is traced. Built: the Paimon button draws the face traced from the game's own frame (
hud-world-pickup, the 90 pixel box at 100, 10) as a path of our own, as every glyph is (interface library). Its ink is the whole head as the trace splits it, with the tracer's default share, so its place and fill are provisional until measured.
How it works
flowchart TD TREE["The HUD's RectTransform tree, fitted to its interfaceRects.json"] --> SCR["Hud/Screen: a GameRect per piece"] SCR --> PB["Paimon button, its mark traced"] SCR --> MM["Minimap"] SCR --> PIECES["The built pieces, each in its fitted place"]
Scope and order
Today: the HUD's block is exported and fitted, and every piece stands in its fitted rect of the game's tree (as-built page), its looks still provisional: the stamina meter, the party's portraits, the member's health and the skill and burst buttons. The quest tracker has no rect in the HUD's tree and stays at its provisional place until one is found.
This adds, in order:
- The looks. Each piece's look is replaced with the game's, read off the copied captures and
hud-world-pickup. Paimon's mark is built (traced from the same frame, as the Decisions say).world-hud-hidden.mkvre-measures the composite later; it gates nothing.
What this does not propose
- The pieces of features the world lacks: the chat and the top right's shortcuts.
- The agent console's bar. The console is hidden from the game until it is rebuilt in the game's style, which is its own page's.
Key files
| File | Role after the change |
|---|---|
packages/genshin-world/src/components/Hud/Screen/Index.vue | Draws each piece with the game's look |
scripts/src/services/genshinParity/shared/ParityReferenceMap.ts | Gains the HUD's recordings |
New files:
packages/genshin-world/src/components/Hud/Screen/Index.reference.ts
Sources
- Paimon Menu, Genshin Impact Wiki, for the top-left Paimon button, which opens the menu as Escape does.