Me blogging about random interface topics.
Bringing the WOW to your interface
Blizzard finally released an API function to display models in CATACLYSM that do not have to be in your cache. This is just plain awesome for the reason that an ingame model viewer is now possible. So I made one: rIngameModelViewer : Cataclysm Beta : WoWInterface Downloads. The benefit of this is quite major. Assume you want to add some art to your interface that should be cool but on the same side use very low CPU.
Doing animations in LUA is pretty costy since you need onUpdate scripts all over the place. They may be hidden in Blizzards animation system, but still they are in place once you use it. One solution to circumvent this is to use premade animations that are already rendered.
Examples:
The example is showing two sparks and an animated pumping machine aswell as pictures of the ingame modelviewer I made. Blizzard has thousands of animations in their game files but until now we had no access to them unless we knew the MDX file and were lucky enough it had a default skin already applied.
So thank god for this new API function
Full code to create that model
The questionmark model is a neat trick. If your "DisplayId" is not found the questionmark will be still in place and displayed instead.
All we need is the DisplayID. Saiket posted me a way to get it: Extract model properties - WoWInterface Thus you could use the Wowhead 3D model viewer to get your DisplayID or you just click through my ingame model viewer and check for models you like.
Now, lets assume you want to bring bling bling to your UI, why not add some models (for example chests or cool glowing stuff)?
With some playing with frames you can even put overlays on your animations to cover parts of them.
That's pretty much what I did back in the days where the fog animations still worked (which they don't anymore, atleast not the m2 files). Thus I'm pretty excited about the new function because it brings my beloved fogs back to life. I already made me a list of all the cool fog, glow and particle animations I found.
There are animations for all kind of things even fire animations. So if you want to make your UI burn you can. That brings me back to Bob Ross. Whatever you want to be in your world is going to be there. It's your world.
I searched through the hole display ID's and gathered some stuff. You can check the csv file in the attachments if you like.
Blizzard scripts that use that technique:
FrameXML/QuestFrame.xml at cat from tekkub's wow-ui-source - GitHub
FrameXML/QuestFrame.lua at cat from tekkub's wow-ui-source - GitHub
Search for "QuestNPCModel"
Modifying the model can be done by
Some of the new functions are not documented yet.
Read more: Widget API - WoWWiki - Your guide to the World of Warcraft
Other mods that make use of it:
AmbientAura : Cataclysm Beta : WoWInterface Downloads
The mod takes fog models to create some ambient feeling behind your actionbars.

Originally this was done with m2-files but as already said they do not work anymore but SetDisplayInfo does.
Doing animations in LUA is pretty costy since you need onUpdate scripts all over the place. They may be hidden in Blizzards animation system, but still they are in place once you use it. One solution to circumvent this is to use premade animations that are already rendered.
Examples:
The example is showing two sparks and an animated pumping machine aswell as pictures of the ingame modelviewer I made. Blizzard has thousands of animations in their game files but until now we had no access to them unless we knew the MDX file and were lucky enough it had a default skin already applied.
So thank god for this new API function
Code:
model:SetDisplayInfo(DisplayId)
Code:
local m = CreateFrame("PlayerModel", nil, UIParent)
m:SetSize(100,100)
m:SetPoint("CENTER",0,0)
m:SetModel("Interface\\Buttons\\talktomequestionmark.mdx") --in case setdisplayinfo fails
m:SetDisplayInfo(DisplayId)
All we need is the DisplayID. Saiket posted me a way to get it: Extract model properties - WoWInterface Thus you could use the Wowhead 3D model viewer to get your DisplayID or you just click through my ingame model viewer and check for models you like.
Now, lets assume you want to bring bling bling to your UI, why not add some models (for example chests or cool glowing stuff)?
With some playing with frames you can even put overlays on your animations to cover parts of them.
That's pretty much what I did back in the days where the fog animations still worked (which they don't anymore, atleast not the m2 files). Thus I'm pretty excited about the new function because it brings my beloved fogs back to life. I already made me a list of all the cool fog, glow and particle animations I found.
There are animations for all kind of things even fire animations. So if you want to make your UI burn you can. That brings me back to Bob Ross. Whatever you want to be in your world is going to be there. It's your world.
I searched through the hole display ID's and gathered some stuff. You can check the csv file in the attachments if you like.
Blizzard scripts that use that technique:
FrameXML/QuestFrame.xml at cat from tekkub's wow-ui-source - GitHub
FrameXML/QuestFrame.lua at cat from tekkub's wow-ui-source - GitHub
Search for "QuestNPCModel"
Modifying the model can be done by
Code:
model:SetPortraitZoom(value) model:SetRotation(value) model:SetCamDistanceScale(value) model:SetPosition(z,x,y) ...
Read more: Widget API - WoWWiki - Your guide to the World of Warcraft
Other mods that make use of it:
AmbientAura : Cataclysm Beta : WoWInterface Downloads
The mod takes fog models to create some ambient feeling behind your actionbars.
Originally this was done with m2-files but as already said they do not work anymore but SetDisplayInfo does.
Total Comments 0
Comments
Total Trackbacks 0
Trackbacks
Recent Blog Entries by zork
- How to handle SetBackdrop and do 1px stuff in just one call (10/26/10)
- Bringing the WOW to your interface (09/21/10)
- oUF_Simple - oUF 1.4 tutorial layout (06/29/10)
- How to create an outer glow by using SetBackdrop (12/09/09)
- Make textures rotate without the need of onUpdate (10/26/09)





