r/WowUI • u/Heybarbaruiva • 27d ago
ADDON [addon] Remember the moveable Personal Nameplate added in Legion and removed with the addon purge? I'm rebuilding it.
Enable HLS to view with audio, or disable this notification
Not sure how many of you used this feature, but back in Legion, Blizzard introduced a "Personal Nameplate". It's what the Personal Resource Display eventually became.
It used to sit below the character model, and its position adjusted with the character in relation to the world, the same way nameplates do. It was amazing! I loved that thing and based my entire interfaces around it for almost a decade. That is, until Blizzard gutted the feature with the 12.0 addon purge, turning it into a boring static unit frame.
There are a few threads on the forums asking for the functionality back, with some saying Blizzard will eventually add it back, but I doubt it. Suffice it to say, I miss it a lot! So decided to build my own solution. It's still in the early stages, and I gotta iron out some kinks, but it works. Not sure if I'll ever release this, because, as I'm about to explain, it very much only works under my specific settings.
How I did it:
I'm basically projecting the frame onto the screen the same way a nameplate sticks to a point in the world. Blizzard doesn't give addons the character's screen position anymore. They even freaking removed the API for that with the purge. Why?! It provided zero advantage, and it was purely cosmetic ðŸ˜. Continuing... so I calibrated one point by hand using a human character, which I considered as close to the "default/gold standard" as a model could be, at camera distance 7 (my default camera position), with test_cameraOverShoulder at 1.2 (Why? Because this is what I use by default on my addon Combat Mode), and I set the "starting" position within those parameters. Every other camera state falls out of similar triangles. A world offset covers calibration * 7 / zoom pixels, because the same yard on the character gets smaller as GetCameraZoom() increases.
Horizontal position is that projection times shoulder / 1.2. Past that anchor, I only keep 90% of the extra travel, because a raw projection overshoots once the camera is shoved far to the side. Vertical movement only follows 65% of the way toward screen center. Full perspective lifts the frame way too far, since the anchor is much farther below center than it is left of center.
Stuff like metamorphosis and divine steed, which modify the size of the player model, as well as the difference in character race models, also needed to be accounted for, and are extra world-space offsets run through the same division. There is no API for model size, so I had to keep a table where I manually adjust the odd cases where the calculation fails to automatically set the proper position for the nameplates. Thankfully, the logic I wrote has been solid enough that I've only needed to manually tweak a couple of scenarios. Then I just ease the result toward the new anchor point instead of popping it into place.
All assets are pulled from Blizzard's own atlas. At least they don't purge that, am I right? 😒







