PDA

View Full Version : MapMonster (alpha) Modeler plugin needs you! (User-centered plugin design...)



lwpop
02-12-2014, 04:30 PM
Hey everyone, from out of the blue and left field:

This is a quick call out for just a few volunteers willing to help assess and alpha test a potential new plugin for Lightwave (Modeler at this stage). The plugin is called MapMonster and it's currently an internal tool used mostly in character animation & game export workflow and was a comprehensive Vmap (weights, morphs, UVs, color) management, generation and selection tool that we are considering refactoring, improving, and hopefully ultimately releasing for sale to the Lightwave community if it seems there is a demand, and if it seems viable to spend the effort needed to polish the features necessary for public consumption.

To this end, just a few ( <5 to 10) LW alpha testers are needed who wouldn't mind have an ocassional ad hoc play with the alpha plugin (it is usable, but unfinished and prone to bugs) and report your constructive feedback in exchange for a free copy of the plugin in the event it actually gets released. We recognize the value of potential customers time, and merely hope to incorporate user centered design into our development, as opposed to releasing a full blown product out of the blue and force our interactions and workflow onto you. This way, the idea is the people in the trenches get a valuable and useful tool which saves them time (and is hopefully fun to use) and we get less development costs chasing features that are unneeded or superfluous to true users' needs. Obviously there is the risk that we determine the costs to polish are not worth the effort or have little demand, and in which case if it turns out to be unfeasible, we might strip out some useful bits as free plugins to the community - who knows - maybe our UI designs will inspire the LW3DG to make something native too - so no matter how this turns out, it should be win-win.

Much of what the tool does is NOT rocket science by any means, and there are some existing solutions piecemeal floating around for various sub-features, but this aims to be a COMPREHENSIVE and highly usable, one-stop shop for map management and so users don't have to look through collections of 7+ year old scripts to do basic functions like mirror etc. It also intends to provide BULK map editing features.


MapMonster's initial mode/feature called WeightWatcher was born out of our internal need to manage weightmaps on individual character assets during revisioning. A lot of game engines' skinning have hardware GPU accelerated limitatios on the number weight maps that can be driven per bone. We initially used this tool to select and highlight weighting problem areas in overlaps of joints like shoulders and hips and quickly compare multiple assets (i.e. characters) sets of weights - as it gets hard to manage what subtle changes occur from one version to the next and from when one person changes an asset. This gave alternate visualizations and data views of the maps which helped us ferret out issues and fix them.


DISCLAIMER: Of course, as we intend to release this commercially eventually, we're told we have to say this: any ideas or assistance you provide that we do incorporate into this or a future product has to become our IP -- any questions just ask and we'll work with you. But we're only really putting out the feelers at the moment so it's not like we're asking you to build it. ;-)

The lofty roadmap includes extending this to other map types (as you'll hopefully see from the interface) too. We might get hampered by performance issues or LW limitations which ROI will determine whether or how we proceed with making this a real product. Help from a sample of you will make this more likely to become a reality and hopefully result in the tool most of you want. Who knows, this could be useless too - we want your help in finding out.

This R&D and dev is being done amidst our other workload, and as we hope to release updates as often as possible, we can't guarantee timeframes. But pairing down this plugin to the essentials (and being agile and user-centered) we hope we can do this in a modular fashion. Probably better to have a car that gets you from A to B, before we add a beer fridge in the glove compartment. ;-)




Anyway, here's the good stuff and some initial preliminary screenshots to whet your appetite (or inspire pepto-bismol usage as the case may be):

CURRENT ALPHA FEATURES:

shows graphs and data grid of weight map data for an object
shows combined weight influence and number/which bones per point
graph view allows quick & dirty visual scan of weight maps so you can instantly see if even an individual point is out of whack
data view lets you sort points by various means to find problem points and select them
and more...


FEATURES COMING SOON:

comprehensive statistics & summaries of maps in a given object
better selection tools
visual/data map comparison
visual/data map combination/editing
bulk map editing tools (eg add a value to all weight maps in a given object and save them out as copies of new maps)
custom map sets - being able to view just a select view map visualizations at a time (vs the individual map view and ALL combined view that is there at the moment)


KNOWN ISSUES
Data grid currently has good performance for objects with >100,000 points. We're still working on the graphic which has some issues >15,000 points - we will likely lazy load the graphing better so scrolling is faster.

+ more to come....

Tell us what you think, even if you don't want to (or have free time to) help play with a buggy alpha, feedback on this is welcome, even if negative.

Thanks for your reading this and hopefully we can make beautiful plugins together! :)

120150

120149

120148

120147

120146

120151

120152

lwpop
02-14-2014, 08:23 PM
Surprised more people aren't interested in weightmap management or comparison... we thought this was an area in Lightwave somewhat neglected?

Thanks for the couple of PMs, new version of the plugin will be ready and to you tomorrow.

Phil
02-14-2014, 08:49 PM
I didn't see this until today. Looking at the graph view, though, I'm not entirely sure that I see how it helps me handle weightmaps - it seems difficult to follow how the display relates to an arbitrarily complex object. In general, I want to blur weight maps (the old plugin for doing this is Windows-only and LScripts are sllllooooowwww). I assume this is Windows-only?

m.d.
02-14-2014, 09:21 PM
Looks cool....if somewhat specialized at this point.

If you can implement a corrective morph workflow...you could sell a lot of copies

sami
02-14-2014, 09:45 PM
I didn't see this until today. Looking at the graph view, though, I'm not entirely sure that I see how it helps me handle weightmaps - it seems difficult to follow how the display relates to an arbitrarily complex object. In general, I want to blur weight maps (the old plugin for doing this is Windows-only and LScripts are sllllooooowwww). I assume this is Windows-only?

No, this should work on both platforms. Blur isn't yet implemented but it will be.

The graph view isn't intended to follow the complex object as much as is it intended to visually scan and notice point values you don't expect to be there. One thing it does is show either ALL (instead of just one at a time) or a selected custom map set combined (additive) into a combined graph (or the spreadsheet view too). This lets you find points that have more than say 4 (or whatever number) weightmaps assigned to them easily and also find points which might look ok in the Weight Shade view, but which have a combined total over 100.

This is important for people who model, rig, & animate in LW, but export characters (or other objects) into other real-time/game engines and want the deforms to match exactly. It's one thing that LW is very forgiving and does deforms nicely with *a lot* of extras (like Joint compensation) when rendering, and it's entirely another thing if you intend your animated 3D character or asset to be deforming right inside a game or realtime engine (like occulus or whatever).

Maybe it is a specialized feature set - but I would have thought Unity3D eclipsed LW in user base and we can't find any decent weighting tools - which unfortunately all realtime skinning/deformations depend solely on...

Plus the idea is that as you work through making weights that you want for a given character, you might want to try multiple options. This would let you deal with editing bulk maps quickly.

Like I might have a character with weights for almost every bone (which is a workflow often needed for game engines) - so I'll have a Hand_L, Forearm_L, UpperArm_L etc and this can quickliy mirror maps or modify a huge set of maps in one click and rename them to new names so you could switch back and forth the sets easily without losing work or going back to old versions. You could also bulk delete maps etc.

Mostly this was born out of the game workflow need...

lwpop
02-14-2014, 09:51 PM
Looks cool....if somewhat specialized at this point.

If you can implement a corrective morph workflow...you could sell a lot of copies

Can you elaborate on the "corrective morph workflow", I'm not sure what you mean exactly. Morph map, uv, and color map management is planned, but if there is a critical map feature, we certainly could look at implementing it sooner. :)

geo_n
02-14-2014, 09:56 PM
Is it possible to transfer weightmaps from a foreground mesh to a background mesh? This is essential for quickly transferring weights from one character to another and use the same rig. I'm using a 32bit plugin for this but no 64bit plugin.

ernpchan
02-14-2014, 10:01 PM
This plugin certainly sounds interesting. A video demonstration might help show off what the useage is for.

lwpop
02-14-2014, 10:09 PM
Is it possible to transfer weightmaps from a foreground mesh to a background mesh? This is essential for quickly transferring weights from one character to another and use the same rig. I'm using a 32bit plugin for this but no 64bit plugin.

Not at present. Doesn't Alexx's awesome Weighter2 plugin do this? http://www.alesk.fr/lscript/weighter2/
This is more for bulk editing and problem troubleshooting at the moment... We might consider that sort of functionality if Weighter is not available anymore or not maintained. But it is an awesome plugin.
Would be nice to have a one-stop VMap shop for all map types and functions though...



This plugin certainly sounds interesting. A video demonstration might help show off what the useage is for.
We hope to do a video sometime soon after it's a bit more feature packed :)

m.d.
02-14-2014, 10:10 PM
Can you elaborate on the "corrective morph workflow", I'm not sure what you mean exactly. Morph map, uv, and color map management is planned, but if there is a critical map feature, we certainly could look at implementing it sooner. :)

Maybe beyond the scope of your plugin...

See here
http://forums.newtek.com/showthread.php?137894-Creating-a-corrective-morph-using-Chronosculpt
(Not sure if that works but you get the idea)
http://www.youtube.com/watch?v=vwU6aAi3mtc

Sorry it's such a big topic and I type so slow....:)

Another feature along the lines of what you are doing.....transferring texture to weight and vice versa...
Could have used this a few times in the past

lwpop
02-14-2014, 11:14 PM
Maybe beyond the scope of your plugin...

See here
http://forums.newtek.com/showthread.php?137894-Creating-a-corrective-morph-using-Chronosculpt
(Not sure if that works but you get the idea)
http://www.youtube.com/watch?v=vwU6aAi3mtc

Sorry it's such a big topic and I type so slow....:)

Another feature along the lines of what you are doing.....transferring texture to weight and vice versa...
Could have used this a few times in the past


Yes that is a big topic and a bit beyond the scope of this plugin at this stage - however, planned elements of this workflow might be able to be done in here too - though at the moment, it doesn't load MDDs, we might consider MDD support if it's feasible for this. But certainly some morph map modification tools are possible and likely. I'll have a closer look at that thread and see what you mean.

Phil
02-14-2014, 11:15 PM
Interesting. In moving a lot of my characters to modo, to make use of ACS, I had the same issues. LW has some really nice and forgiving dynamic weighting through the falloffs in Layout, but other systems are pretty exclusively tied to weightmaps and making those can be a bear. With that in mind, I wondered about the possibility of something similar to modo's natty autoweighting, which at least gets you to a good initial starting point. It's part of the binding sequence in modo, with a few algorithms to choose from.

I've been trying to find a video to demonstrate this, but haven't been lucky so far...

lwpop
02-15-2014, 12:07 AM
Here's another simple, yet useful example.

In this case, I've switched to DataView - clicked the column "# of Weightmaps" which sorts the points by number of Weightmaps (and then index) and then I clicked in the grid and shift-clicked to select all the rows I wanted to select and then it selected the points for me. This matters, because some game engines get wacky deforms if you have a point (usually in the hips or shoulders) that are affected by more than 4 weightmaps. Say you have a character that has points with say 6 bones affecting it (or whatever the number is for your situation) - what happens in the game engine, is that the in the GPU, the bones arbitrarily select 4 of the 6 weightmaps, throw out the remaining 2 and then average the weightings between those 4 weightmaps - this means that you get crappy deforms for those points and your game animation doesn't look exactly like your Lightwave animation.... This tool can locate those sorts of issues.

You could just as easily sort by a different column, like an axis or the value and select those rows (more specific selection tools are on the select tab) and voila'!

120185

Ryan Roye
02-15-2014, 08:21 AM
I used to use weight manager but gave up on it once I transitioned to a 64-bit version of Lightwave. Being able to mirror weights and manage them in bulk was nice, but i've since learned native ways to get the same effect (do editing with mirror enabled, delete halves of weights afterwards).

If I were more into game development I'd probably be more interested, but as it stands I'd never have enough time to go into this level of detail with weight maps to justify the added control and visualizations. Weight management tools in layout sound far more interesting from my perspective and is one of the biggest weaknesses in Lightwave concerning deformation-based workflows. Once that gets addressed, a lot of burdens with Lightwave's weight workflow will vanish.