Download
(9Kb)
Download
Updated: 09-04-10 05:15 AM
Pictures
File Info
Updated:09-04-10 05:15 AM
Created:10-23-09 10:24 PM
Downloads:18,435
Favorites:210
MD5:

VirtualPlates  Popular! (More than 5000 hits)

Version: 3.3.5.3
by: Saiket [More]

Nameplates are hard to look at. They fill your screen and make an absolute mess when you're fighting lots of mobs. _VirtualPlates gives them depth, so they fit into the game world instead of covering it.

Note: _VirtualPlates no longer works since the Cataclysm pre-release 4.0.1 patch.
Details

This has little configuration, and should work with most other nameplate skinning mods such as Aloft, TidyPlates, and caelNameplates. You might prefer to turn on Allow Overlapping Unit Nameplates in Interface Options > Names > Unit Nameplates so nameplates won't bump into each other. The sample screenshots were taken with this new feature enabled.

Options

_VirtualPlates' options can be found in the Interface Options > _VirtualPlates menu.
  • Nameplate Scale Limits:
    • Minimum Scale: Limits how small nameplates can shrink to. Values can range from 0 (meaning disabled) to 1 (meaning plates won't get smaller than their default size). For example, a value of 0.5 would keep plates from shrinking beyond half their original size.
    • Limit maximum scale: When enabled, this prevents nameplates from getting too big when they get close to your camera.
    • Maximum Scale: Similar to the “Minimum Scale” slider, but this value controls how many times larger than the default size a nameplate can grow to.
  • Scale Factor: When nameplates are this many yards from the screen, they'll be normal sized. Larger distances mean larger nameplates.

  • 3.3.5.3:
    • Final release. _VirtualPlates will no longer work after the Cataclysm expansion.
    • Added deDE localization by muhmiauwau from CurseForge.
  • 3.3.5.2:
  • 3.3.5.1: Removed options to adjust scale factors based on camera zoom, since camera info is no longer available to addons.
  • 3.3.0.1:
    • Hack workaround for blacklisted nameplate depths.
    • No longer forces overlapping nameplates feature on.
    • OnUpdate script handlers on plate Visuals now get assigned to the plates directly to preserve their execution order.
  • 3.2.2.5:
    • Fixed issue where addons could get a hold of raw nameplates before _VirtualPlates replaced them.
    • Reworked handling of frame levels. _VirtualPlates shouldn't interfere with the relative frame levels of children any more.
  • 3.2.2.4: Added a Maximum Scale option.
  • 3.2.2.3: Now loads LibCamera-1.0 properly.
  • 3.2.2.2:
    • Added a configuration pane with various options.
    • ScaleFactor can now optionally scale with camera distance.
    • Added a minimum scale option to prevent plates from getting too small at long range.
  • 3.2.2.1: Initial commit.
Optional Files (0)


Post A Reply Comment Options
Unread 03-27-10, 12:56 PM  
Lombra
A Molten Giant
 
Lombra's Avatar
AddOn Author - Click to view AddOns

Forum posts: 554
File comments: 271
Uploads: 24
Hi,
what is that addon in the screenshot with Toshley? I know it says TidyPlates but I can't get it to look like that with the core addon.

Thanks
__________________
Grab your sword and fight the Horde!
Report comment to moderator  
Reply With Quote
Unread 03-27-10, 08:46 AM  
dr_AllCOM3
A Cyclonian
 
dr_AllCOM3's Avatar
AddOn Author - Click to view AddOns

Forum posts: 40
File comments: 275
Uploads: 11
DocsUI Nameplates 3.0 is now _VP compatible.
Report comment to moderator  
Reply With Quote
Unread 03-10-10, 08:25 PM  
Rounce
A Kobold Labourer

Forum posts: 0
File comments: 9
Uploads: 0
Originally posted by dr_AllCOM3
The idea is very nice, but this addon uses an incredible amount of cpu time. My old nameplate addon was horribly inefficient, but this addon uses twice as much and 25 times more than a common addon.
The font scaling is annoying, but that's not your fault.

The original nameplate "hitbox" does not scale in combat, that makes targeting very hard for grouped mobs.

I don't really like it, but I enabled it for the next release of my nameplates.
You might want to look into your own nameplate mod. I'm just loaded a slightly modified version of kNamePlates (added turning on and off automatically with combat) and VirtualPlates and neither is even registering as using memory for most encounters. With a full AoE packs worth of mobs VirtualPlates is showing usage but nothing alarming on any level.

Really liking the mod, by the way, very nice effect.
Report comment to moderator  
Reply With Quote
Unread 03-06-10, 03:54 AM  
Saiket
A Chromatic Dragonspawn
 
Saiket's Avatar
AddOn Author - Click to view AddOns

Forum posts: 154
File comments: 330
Uploads: 9
Originally posted by dr_AllCOM3
My FPS drop by 10 from 120 while standing next to some dummies.

Have you tried not hooking the nameplate's onUpdate and instead updating them all every 0.1 seconds? I bet that would cut the cpu time in half.
The illusion of depth looks terrible when throttled. Imagine how text labels jump between sizes, but for the whole nameplate. I tried with 1/10th second and 1/20th second intervals, and they both looked pretty bad.

_VirtualPlates only uses one OnUpdate handler to update scales. If you mean the SetScript wrapper for OnUpdate, it's used to swap the "self" parameter with _VirtualPlates' replacement frame, and the mod wouldn't function properly in all cases without it. However, that wrapper only gets called if a different nameplate mod sets OnUpdate handlers for individual plates. If your nameplate mod doesn't have OnUpdate handlers for each plate, neither will _VirtualPlates.
Last edited by Saiket : 03-06-10 at 03:55 AM.
Report comment to moderator  
Reply With Quote
Unread 03-05-10, 06:11 PM  
dr_AllCOM3
A Cyclonian
 
dr_AllCOM3's Avatar
AddOn Author - Click to view AddOns

Forum posts: 40
File comments: 275
Uploads: 11
My FPS drop by 10 from 120 while standing next to some dummies.

Have you tried not hooking the nameplate's onUpdate and instead updating them all every 0.1 seconds? I bet that would cut the cpu time in half.
Report comment to moderator  
Reply With Quote
Unread 03-05-10, 05:26 PM  
Saiket
A Chromatic Dragonspawn
 
Saiket's Avatar
AddOn Author - Click to view AddOns

Forum posts: 154
File comments: 330
Uploads: 9
Originally posted by dr_AllCOM3
The idea is very nice, but this addon uses an incredible amount of cpu time. My old nameplate addon was horribly inefficient, but this addon uses twice as much and 25 times more than a common addon.
The font scaling is annoying, but that's not your fault.

The original nameplate "hitbox" does not scale in combat, that makes targeting very hard for grouped mobs.

I don't really like it, but I enabled it for the next release of my nameplates.
I've optimized it as much as I can, but there's no way to avoid so much processing. Comparing its CPU time relative to other mods isn't very useful though, since regular nameplate mods perform different things. A better metric would be milliseconds used per second, or something similar.

Even with better metrics though, the best way to judge this addon's performance is to try it out and see how badly it affects your gameplay. People with high-end machines probably won't notice any FPS drop except in the biggest mob packs. People with older computers might still be willing to trade off some FPS for the added positional awareness.


As for changing the nameplate hitbox in combat, that's a restriction placed by Blizzard that no mod can get around. In my experience though, the game seems to select the nameplate under my cursor with reasonable accuracy, even with a few overlapping plates. Even when it doesn't, a second click in the same spot usually cycles to the next closest plate.
Last edited by Saiket : 03-05-10 at 05:27 PM.
Report comment to moderator  
Reply With Quote
Unread 03-05-10, 03:56 PM  
dr_AllCOM3
A Cyclonian
 
dr_AllCOM3's Avatar
AddOn Author - Click to view AddOns

Forum posts: 40
File comments: 275
Uploads: 11
The idea is very nice, but this addon uses an incredible amount of cpu time. My old nameplate addon was horribly inefficient, but this addon uses twice as much and 25 times more than a common addon.
The font scaling is annoying, but that's not your fault.

The original nameplate "hitbox" does not scale in combat, that makes targeting very hard for grouped mobs.

I don't really like it, but I enabled it for the next release of my nameplates.
Last edited by dr_AllCOM3 : 03-05-10 at 04:20 PM.
Report comment to moderator  
Reply With Quote
Unread 01-19-10, 09:07 AM  
Byakko
A Fallenroot Satyr

Forum posts: 21
File comments: 36
Uploads: 0
Holy...I didn't even THINK an addon like this existed (I wanted EXACTLY this sort of depth scaling but kept thinking it was impossible to be provided by an addon).

Just...wow...THANK YOU!
Report comment to moderator  
Reply With Quote
Unread 01-15-10, 07:03 PM  
vAzNKNiGHT
A Deviate Faerie Dragon
AddOn Author - Click to view AddOns

Forum posts: 17
File comments: 16
Uploads: 2
what a great addon, thanks so much!
Report comment to moderator  
Reply With Quote
Unread 01-07-10, 07:26 AM  
Rammoth
A Cliff Giant
 
Rammoth's Avatar
AddOn Author - Click to view AddOns

Forum posts: 73
File comments: 628
Uploads: 1
Fixed!

EDIT: Confirmed. Virtual Plates does work without the 2 hunter addons from Sassa UI, no problems. So this alone confirms that the problem was those 2 addons working with Virtual Plates in the same setting.

Fixed: Problem has been resolved.

It was up to date, I updated it myself. But that's not what the problem was at all. Read below and you'll understand what I had found.

I found out what was wrong, I just now came on to tell you. The problem was the 2 Hunter addons that come with Sassa UI as an option to have. If you use those with Virtual Plates for some reason it causes Virtual Plates to error, and breaks all 3 addons. I removed all 3 addons and now there is no problems. I will try adding Virtual Plates back in, without those. I don't really need the Hunter addons.


Originally posted by Saiket
Make sure to update _VirtualPlates to version 3.3.0.1. Nameplates got changed slightly in the 3.3 patch and broke the older version.
Last edited by Rammoth : 01-11-10 at 11:20 AM.
Report comment to moderator  
Reply With Quote
Unread 01-07-10, 03:40 AM  
Saiket
A Chromatic Dragonspawn
 
Saiket's Avatar
AddOn Author - Click to view AddOns

Forum posts: 154
File comments: 330
Uploads: 9
Re: ERROR!

Originally posted by Rammoth
ERROR!

It took me a WHOLE WEEK to figure out what the problem was that made my game lag really bad. Now I know.

What does all this mean?! It's got over 8,000 errors now and it's slowing my game down... Holy crap this is horrible, and Virtual Plates didn't use to do this! I hope it didn't break my game! This is scary...

That is about as much as I could copy.
Make sure to update _VirtualPlates to version 3.3.0.1. Nameplates got changed slightly in the 3.3 patch and broke the older version.
Report comment to moderator  
Reply With Quote
Unread 01-07-10, 03:08 AM  
Rammoth
A Cliff Giant
 
Rammoth's Avatar
AddOn Author - Click to view AddOns

Forum posts: 73
File comments: 628
Uploads: 1
ERROR!

ERROR!

It took me a WHOLE WEEK to figure out what the problem was that made my game lag really bad. Now I know.

What does all this mean?! It's got over 8,000 errors now and it's slowing my game down... Holy crap this is horrible, and Virtual Plates didn't use to do this! I hope it didn't break my game! This is scary...

That is about as much as I could copy.
Message: ...nterface\AddOns\!!!_VirtualPlates\_VirtualPlates.lua:170: attempt to compare nil with number
Time: 01/07/10 03:57:59
Count: 5664
Stack: ...nterface\AddOns\!!!_VirtualPlates\_VirtualPlates.lua:170: in function <...nterface\AddOns\!!!_VirtualPlates\_VirtualPlates.lua:167>
...nterface\AddOns\!!!_VirtualPlates\_VirtualPlates.lua:290: in function <...nterface\AddOns\!!!_VirtualPlates\_VirtualPlates.lua:280>
[C]: ?

Locals: (for generator) = <function> defined =[C]:-1
(for state) = <table> {
(null) = <unnamed> {
}
}
(for control) = <unnamed> {
1 = <unnamed> {
}
2 = <unnamed> {
}
3 = <unnamed> {
}
4 = <unnamed> {
}
5 = <unnamed> {
}
6 = <unnamed> {
}
7 = <unnamed> {
}
8 = <unnamed> {
}
9 = <unnamed> {
}
10 = <unnamed> {
}
11 = <unnamed> {
}
12 = <unnamed> {
}
13 = <unnamed> {
}
0 = <userdata>
}
Plate = <unnamed> {
1 = <unnamed> {
}
2 = <unnamed> {
}
3 = <unnamed> {
}
4 = <unnamed> {
}
5 = <unnamed> {
}
6 = <unnamed> {
}
7 = <unnamed> {
}
8 = <unnamed> {
}
9 = <unnamed> {
}
10 = <unnamed> {
}
11 = <unnamed> {
}
12 = <unnamed> {
}
13 = <unnamed> {
}
0 = <userdata>
}
Visual = <unnamed> {
oldname = <unnamed> {
}
highlight = <unnamed> {
}
b = 0.35
elapsed = 0.065999999642372
g = 0.63
castBar = <unnamed> {
}
boss = <unnamed> {
}
level = <unnamed> {
}
GetEffectiveAlpha = <function> defined @Interface\AddOns\!!!_VirtualPlates\_VirtualPlates.lua:434
healthBar = <unnamed> {
}
r = 0.65
GetAlpha = <function> defined @Interface\AddOns\!!!_VirtualPlates\_VirtualPlates.lua:434
oldglow = <unnamed> {
}
nameplate = true
name = <unnamed> {
}
done = true
0 = <userdata>
GetParent = <function> defined @Interface\AddOns\!!!_VirtualPlates\_VirtualPlates.lua:434
elite = <unnamed> {
}
SetAlpha = <function> defined @Interface\AddOns\!!!_VirtualPlates\_VirtualPlates.lua:434
}
(*temporary) = nil
(*temporary) = <unnamed> {
1 = <unnamed> {
}
2 = <unnamed> {
}
3 = <unnamed> {
}
4 = <unnamed> {
}
5 = <unnamed> {
}
6 = <unnamed> {
}
7 = <unnamed> {
}
8 = <unnamed> {
}
9 = <unnamed> {
}
10 = <unnamed> {
}
11 = <unnamed> {
}
12 = <unnamed> {
}
13 = <unnamed> {
}
0 = <userdata>
}
(*temporary) = <userdata>
(*temporary) = nil
(*temporary) = "attempt to compare nil with number"
PlatesVisible = <table> {
(null) = <unnamed> {
}
}
Depth = nil
SetAlpha = <function> defined =[C]:-1
SortOrder = <table> {
}
Depths = <table> {
}
MinScale = nil
MaxScale = nil
me = _VirtualPlates {
0 = <userdata>
SetScaleFactor2 = <function> defined @Interface\AddOns\!!!_VirtualPlates\_VirtualPlates.lua:372
Plates = <table> {
}
PlateOnShow = <function> defined @Interface\AddOns\!!!_VirtualPlates\_VirtualPlates.lua:56
OptionsCharacterDefault = <table> {
}
PlateOnHide = <function> defined @Interface\AddOns\!!!_VirtualPlates\_VirtualPlates.lua:71
PlateLevels = 3
PLAYER_REGEN_ENABLED = <function> defined @Interface\AddOns\!!!_VirtualPlates\_VirtualPlates.lua:252
OnUpdate = <function> defined @Interface\AddOns\!!!_VirtualPlates\_VirtualPlates.lua:280
PlatesVisible = <table> {
}
OptionsCharacter = <table> {
}
SetMaxScaleEnabled = <function> defined @Interface\AddOns\!!!_VirtualPlates\_VirtualPlates.lua:347
SetScaleFactor2Enabled = <function> defined @Interface\AddOns\!!!_VirtualPlates\_VirtualPlates.lua:384
Synchronize = <function> defined @Interface\AddOns\!!!_VirtualPlates\_VirtualPlates.lua:401
PLAYER_REGEN_DISABLED = <function> defined @Interface\AddOns\!!!_VirtualPlates\_VirtualPlates.lua:259
OnEvent = <function> defined @Interface\AddOns\!!!_VirtualPlates\_VirtualPlates.lua:270
SetScaleFactor1 = <function> defined @Interface\AddOns\!!!_VirtualPlates\_VirtualPlates.lua:360
Config = _VirtualPlatesConfig {
}
CameraClip = 4
SetMaxScale = <function> defined @Interface\AddOns\!!!_VirtualPlates\_VirtualPlates.lua:335
SetMinScale = <function> defined @Interface\AddOns\!!!_VirtualPlates\_VirtualPlates.lua:323
LibCamera_UpdateDistance = <function> defined @In
Last edited by Rammoth : 01-07-10 at 03:08 AM.
Report comment to moderator  
Reply With Quote
Unread 01-01-10, 11:25 PM  
jwwpua
A Kobold Labourer

Forum posts: 0
File comments: 18
Uploads: 0
Re: Re: Re: Re: Re: Really good addon, but...

Originally posted by Saiket
I haven't seen a crash yet (with the default configuration), but I'll try a few heroics with it on just to be sure. Thanks for helping me look into this.
I disabled the "aloftvisibility" module and ran several instances last night. No crashes. I'll keep running it like this. Hopefully it prevents the crashes.
Report comment to moderator  
Reply With Quote
Unread 12-31-09, 05:49 PM  
Saiket
A Chromatic Dragonspawn
 
Saiket's Avatar
AddOn Author - Click to view AddOns

Forum posts: 154
File comments: 330
Uploads: 9
Re: Re: Re: Re: Really good addon, but...

Originally posted by jwwpua
Ok sounds good. I can send you my Aloft configuration if necessary. Maybe a certain module interacts poorly with your addon. I tried testing it a few more times and I can't get it to crash unless I'm using Virtualplates. I'll see if I can pinpoint which module it might be.

Thanks
I haven't seen a crash yet (with the default configuration), but I'll try a few heroics with it on just to be sure. Thanks for helping me look into this.
Report comment to moderator  
Reply With Quote
Unread 12-31-09, 05:24 PM  
jwwpua
A Kobold Labourer

Forum posts: 0
File comments: 18
Uploads: 0
Re: Re: Re: Really good addon, but...

Originally posted by Saiket
The crash report doesn't seem to show what crashed the game, but I'll download the latest Aloft and see if I can duplicate the issue.
Ok sounds good. I can send you my Aloft configuration if necessary. Maybe a certain module interacts poorly with your addon. I tried testing it a few more times and I can't get it to crash unless I'm using Virtualplates. I'll see if I can pinpoint which module it might be.

Thanks
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump:

Support AddOn Development!

You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.