Repository navigation
Render the Classic 3D portrait capture like the client - #85
Merged
Merged
Conversation
scripts/portrait-capture renders the bald 1.12 human male with classic-wow-model-viewer in headless Chromium, framed like the portrait camera, with alpha matted from black and white renders. The capture lives on the NAS next to the other proof portraits.
Takes the field of view and viewing direction from the pinned build's humanmale.m2 portrait camera, aims at the posed head and calibrates the turn and framing against an in-game player frame. The pose is frozen so the black and white renders match.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Follow-up to #84. The 3D portrait in UI proof becomes a real headless render of the Forever Classic (SD) human male, framed like the client's
SetPortraitZoom(1), instead of the static HDTemporaryPortraitstand-in.What Changed
scripts/portrait-capture: renders the 1.12 model with classic-wow-model-viewer (MIT, three.js) in Playwright's headless Chromium. The model is bald (hairstyle geoset 1, because the library's default hair leaves a scalp gap). Transparency comes from difference-matting a black render against a white one, with the pose frozen so the two match.humanmale.m2(FDID 119940, fetched from Wago). The camera aims at the posed head, and the turn and framing are calibrated against an in-game player frame, because the library's Stand pose leans the head differently.nas:/volume1/Game/unit-frames/proof-portraits/classic/Male-Human.png(Blizzard art, never committed). Proof fetches it into.proof-art/portraits/.DEVELOPMENT.mdandAGENTS.mddescribe the workflow.Notes
TemporaryPortraitfallback. Only local proof runs show the capture.classic-wow-model-viewer0.1.0 and fails loudly if that code changes. The 1.12 model files come from the library author's demo CDN (--cdnorPORTRAIT_CDNto change).UI proof
player
player-dead
target
focus-portrait
pet-portrait
workbench-target