Jump to content

Weight & Alpha Paint Tools for SL 2.0 (my suggestion)


RipleyVonD
 Share

You are about to reply to a thread that has been inactive for 3532 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

It seems by now that having weight paint tools In-world is a necessity. There were two technologies proposed for Second Life to help residents fit their clothing after purchasing it and neither was a perfect solution, and my personal opinion relying on a perfectly coded system is either not possible or would be too performance intensive on a viewer or persons PC. I always think of Mobile devices when I think about Second Life creation, because it seems at some point a large portion of residents are gonna be using mobile devices to log in.

Having weight paint tools or a weight paint room where you can view your purchased clothing and influence its shape would be the solution for this problem. It dosen't need to be anything fancy to get the job done and this will accomplish what an automatic system will not, custom tailoring clothing (you can say). Another thing that would complement this tool-set would be painting your alpha maps on-to your meshes while in the viewer, sort of like a live spray paint session.

The it feature for Second Life at its beginning was Prims (in my opinion). The it feature for Second Life 2.0 can be Weight & Alpha paint tools for clothing. Well this is my suggestion for SL 2.0, here's hoping.

I realize this might not be the simplest thing to implement, but it would help and take some burden off of Second Life creators.

Link to comment
Share on other sites

Cool Ideas Ripley!

I personally think that the Mesh Deformer would be much easier to use for content creators and then have the inworld weight paint room to make fine adjustments would work better and definitely work better than Fitted Mesh with such a system.

You could have three air brushes in the paint room.  One to pull the mesh outward.  One to push the mesh inward and one to smooth the mesh.  Of course the brushes sizes could be adjusted as well as the intensity.  Oh an maybe an erase brush too so four brushes.

I also think having the avatar run through some simple animations which you could pause and adjust the mesh would be very helpful so you can see how the mesh moves.

 

PS I really wish LL would come up with a name for their new virtual world they are creating.  The easiest way to get people to know what the topic of a thread is to use SL 2.0 in the title.  Ebbe has already said it won't be named SL 2.0 or Second Life 2 and that it will be a completely separate entity only really related to SL because it will have been made by the same company LL.

The longer LL waits to name the new virtual world the longer people will keep referring to it as SL 2.0 and thus giving residents wrong impression that it will have to follow the same rules and or expectations that people have for SL 1.0.

Come on LL give it a name.  Even if you just call it a working title subject to change.

Link to comment
Share on other sites

Right! Exactly, that's exactly the kind of system I had in mind Cathy. It would also be helpful having a mirror mode for brushes. A simple push and pull system to start hopefully wouldn't require too much code, but it would help immensely.

Link to comment
Share on other sites


RipleyVonD wrote:

 

Having weight paint tools or a weight paint room where you can view your purchased clothing and influence its shape would be the solution for this problem.

Excellent idea Ripley. There is often a need to pull, push and adjust some vertices in clothing item to make it fit perfectly.

Link to comment
Share on other sites

That sounds like weight painting is easy to do, and everybody can do it... Do you have by chance some documentation where i can learn how to do easy weight painting ? I mean documentation that is understandable for a noobie who has never done any work on animated characters before ?

Well, if you have ideas how such a tool should look alike ... sharing such ideas could help tool makers to improve their tools great :matte-motes-grin:

Link to comment
Share on other sites

The idea would be a creator weight paints the clothing item professionally to move with the avatar, then a person buys that clothing item and takes it into the weight paint room to push and pull vertices to custom fit it to their unique avatar. A SL 2.0 resident wouldn't need to start from scratch with weigh painting the clothing item they just bought, that wouldn't be practical. I think a good approach to start for something like this would be Karl's deformer but using weight paint brushes to adjust its influence on the mesh, its just an idea maybe theirs a better way. 

As for the tools, Blender, Zbrush, and 3D Coat are examples of software with 3d brushes that push and pull at vertices that can serve as inspiration. Also I imagine Torley Linden releasing a video explaining how simple weight painting for your avatar works. ^_^

Link to comment
Share on other sites

I'm confused.

Weight painting is a very specific thing, and has nothing at all to do with moving the origin of vertices. If you are talking about Weight painting, then it doesn't matter if customers can do their own, as It won't help their problems at all. It would actually be a very horrible idea to let novices, or newbies try to do real weight painting.


If you are talking about moving the original position of vertices, then you are talking about creating morphs/shape keys/blend shapes. I have mentioned morph imports many times. Both collada and FBX formats can include morphs.

Maybe a better way to show this is to show how this works in other programs with clothing. In DazStudio, it has to deal with a Genesis character that has thousands more sliders/morphs to adjust it's body. Genesis can morph itself into any human like form, from creatures to robots. Daz uses a similar method to our Mesh Deformer, but it also allows creators to include their own morphs for the clothing, or make them for the clothing inside of Daz. So, this is almost exactly what you are describing. Personally, I don't feel I need, want, or would ever use an inworld morphing tool, as I'd rather create the morphs in Blender and import them with the clothing. Here is a video of some morphs that I created for a clothing item in Daz, and I give many of these custom morphs away to other Daz users.

 

It's also worth pointing out that if LL implements the ability to include morphs in the FBX format for the New World, then we don't need inworld tools, as the creator will just create as many morphs options as possible.

Link to comment
Share on other sites


Medhue Simoni wrote:

It's also worth pointing out that if LL implements the ability to include morphs in the FBX format for the New World, then we don't need inworld tools, as the creator will just create as many morphs options as possible.

If a system like this was implemented every morph that is not used will add to the download weight of a clothing item. Adding Inworld tools is giving a resident control over how a clothing item will fit and their will be no more guessing whether an item would fit. As a creator myself creating as many morph options as possible sounds like a bit of a burden that can be avoided with Inworld tools.

Weight painting isn't only related to weight painting for bones its also commonly used for creating weight maps, I felt it was the best way to describe tools that work similar to weight painting for bones. Yes it is confusing and I apologise for that.

The approach for a simple push and pull system is best left to the engineers of SL 2.0, and its also true that it wouldn't work for weight painting for the avatars bones. Also its only a name, its currently very confusing for new creators learning the difference of what "Materials" means from Linden Lab compared to what "Materials" means to the 3D Modeling world.

In its simplest form a system like this would be a resident pushing and pulling at vertices. 

And yes Morph tools would be a better name, Thanks for pointing that out.

 

Link to comment
Share on other sites

I understand what you are saying, but the issue is much simpler than it seems. Having worked with characters across different platform, and having to deal with clothing issues almost all the time, I have seen most problems. What I do is create my own morphs for almost every clothing item I use in any program. Much like in Real life, clothing only has a few areas that need morphs. For pants, you need a waist morph to pull the waste out. You need a waist morphs to move the waist up or down. You might want a morph to make the pants loose or tight. You might want a morph that raises and lowers the bottom of the pants, and 1 last morph to pull in or flare out the bottoms of the pants. Oh, and you likely want a morph to make the butt larger or smaller. That's it. If every pair of pants has all these morphs, the customer can adjust the pants to fit any avatar. Like I said, clothing on virtual avatars is not much different than in real life, and a shirt would have similar set morphs to make them fit every avatar too.

I don't dislike your idea, I just think it is a bit convoluted to expect customers to do the morphing. As a creator, I do this stuff all the time, and it literally takes 5-10 minutes.

Link to comment
Share on other sites

Hi Gaia,
The push, pull and smooth tool as I have described wouldn't actually affect the weights of the mesh so calling it a "Weight Paint Tool" would be misleading.

The push, pull and smooth tool would be more of a "Sculpting Paint Tool" where it just moves the vertices in and out a bit for some fine adjustments.  I probably have it do it by pushing or pulling directly towards the or away from the camera.  The smooth function of the tool would just average the vertices.  The erase tool would just move it back to the vertices original position though if you had the brush set or 10% it would just move the vertice back towards its original position by 10% not all the way back.

In Maya you can actually paint the weights to adjust the weights of the rigged mesh.  The tool in Maya is called "Paint Skin Weights Tool". 

Maya also has a sculpting tool which is more of what I been describing for SL called "Sculpt Geometry Tool".

I think actually adjusting the weights by painting them in SL for the average consumer would be too difficult for them.  See adjusting the weights while the avatar is in the T-Pose position the vertices would not actually move.  If the joints are bent out of the T-Pose position and the weights painted they will move but not necessarily in and out.

While a painting weights tool in SL would be great for content creators who know how rigging works I think it should be only available under the Advanced menu.

The "Scuplting Paint Tool" the pushes and pulls vertices actually slightly changing the shape of the mesh clothing is something I think the average consumer can do and understand quite easily.

Link to comment
Share on other sites

Right, but the problem with morphs is it adds download weight because every morph target is a duplicate of the original, in vertice count, not shape of coarse. This is why the Lab hasn't allowed this freedom to creators, allowing morph targets for creators when creators have the habit of creating meshes with huge triangle counts would be extremely problematic.

Morph targets aren't practical not just because a persons viewer would end up re-downloading a persons worn clothing every time a person adjusts their worn item and uses a different morph target, but because people don't care about creating efficient meshes for 3D Rendering engines. Morph targets for the current avatars don't pose a problem because morph targets are shared with everybody in the viewer.

in Real Life customers like to pull and adjust what their wearing to make it fit. Its in their hands, a similar system Inworld dosen't have to be as complex as it sounds. Plus the big bonus is creators get to relax a bit whether their clothing will fit or not. Giving customers the ability to push and pull at an article of clothing is not expecting them to do the morphing, it giving them the freedom to do so. 

Link to comment
Share on other sites


RipleyVonD wrote:



If a system like this was implemented every morph that is not used will add to the download weight of a clothing item.


This is not true, at least as far as I know. Yes, in some programs, like Maya, in order to create a morph or blend shape, you need to basically have another instance of the mesh with the vert changes. This is not what the FBX format saves tho, again as far as I know. It doesn't save different instances of the mesh itself. I've imported FBX files with morphs into Unity and the meshes are not more verts. Plus, even if it did, you are only rendering 1 mesh in SL, so the download cost or LI would not be affected. What I think you might be thinking of is an MDD file, which is exactly different instances of a mesh to make it seem like 1 mesh is moving. You can also do this with FBX and DAE files, but this is not what I'm talking about with morphs embedded in your FBX file.

In Blender, you don't need multiple instances of the meshes at all to make morphs

Link to comment
Share on other sites


Medhue Simoni wrote:


RipleyVonD wrote:



If a system like this was implemented every morph that is not used will add to the download weight of a clothing item.


This is not true, at least as far as I know. Yes, in some programs, like Maya, in order to create a morph or blend shape, you need to basically have another instance of the mesh with the vert changes. This is not what the FBX format saves tho, again as far as I know. It doesn't save different instances of the mesh itself. I've imported FBX files with morphs into Unity and the meshes are not more verts. Plus, even if it did, you are only rendering 1 mesh in SL, so the download cost or LI would not be affected.

In Blender, you don't need multiple instances of the meshes at all to make morphs

A problematic situation I immediately imagine would be an event like Gatcha where you have lots of Avatars adjusting what their wearing at the same time and clothing with morph shapes having become commonplace, your viewer would need to download every new morph shape that these Avatars decide to use. Its true a viewer wouldn't need to download all morph targets at once just dynamically when a new one is used.

Having a compressed format while a morph target downloads to a viewer would be a way to ease the download burden. But we still have the problem of careless creators who don't care about triangle counts, the only solution to this problem is putting a system in place that dosen't render items above a certain amount of triangles like Cloud Party did. 

3D Editors do have nice ways of doing things, but the environment is different they get to have that freedom. I thought it was way cool when Unity added support for Blend Shapes. ^_^ Never really looked into how it was implemented though.

If a resident one day decides they want to be a tall reptilian lady, a morph target is not gonna pull the dress over her tail. lol I know its a silly example but it shows how morph targets wouldn't be a solution.

Link to comment
Share on other sites


RipleyVonD wrote:



A problematic situation I immediately imagine would be an event like Gatcha where you have lots of Avatars adjusting what their wearing at the same time and clothing with morph shapes having become commonplace, your viewer would need to download every new morph shape that these Avatars decide to use. Its true a viewer wouldn't need to download all morph targets at once just dynamically when a new one is used.

Having a compressed format while a morph target downloads to a viewer would be a way to ease the download burden. But we still have the problem of careless creators who don't care about triangle counts, the only solution to this problem is putting a system in place that dosen't render items above a certain amount of triangles like Cloud Party did. 

3D Editors do have nice ways of doing things, but the environment is different they get to have that freedom. I thought it was way cool when Unity added support for Blend Shapes.
^_^
Never really looked into how it was implemented though.

If a resident one day decides they want to be a tall reptilian lady, a morph target is not gonna pull the dress over her tail. lol I know its a silly example but it shows how morph targets wouldn't be a solution.

Well, I really think you are wrong about how the morphs get displayed. It's all in the 1 file. There is nothing else to download.

Blend shapes in Unity kick butt. I've been working with a game company over the past few months. The first project I did for them was I attached their modeled head of their zen buddha master to a generic body and rig him up for Unity. Originally they just wanted me to do all his animation, but the rest of their team was busy, and I needed the character to animate with. They eventually asked me to give him expressions and be able to talk, which I insisted using blend shapes for. It worked out perfectly and the company loves what I did with him. They are even letting me expand on him more, and want me to do the same with the generic characters.

Right now, I'm creating a whole set of snakes for Unity. The game company needs a rattler, so I decided to make 1 snake that can morph into any snake possible. They already told me they'll want a cobra too, so with 1 product, I'm giving them a crapload of different snake possibilities. Plus, instead of charging them for making 1 rattler for them, which would be hundreds of dollars, I'm just going to sell the snake product to all Unity developers, and will likely make more than from just this company. So, they get a sweet deal, and I get a product that is useful for many games. I'm just about to test it all out now. I only have to texture all the different snakes, and I'm done with it. Heck, any purchaser of it could actually make their own custom snake, by using different combinations of the morphs. So, truly, any snake will be possible. Here is a quick look at early versions of the morphs. Some have changed slightly since these images. They are all using a early version texture I did up real quick, so you can't really see the detail, but their own textures are coming soon. Top left is the snake with no morphs.

 snakes.jpg

If LL doesn't include morphs in the FBX, I will seriously be disappointed. If they do, I'll sell my snake in the New World also.

Link to comment
Share on other sites


Medhue Simoni wrote:


Well, I really think you are wrong about how the morphs get displayed. It's all in the 1 file. There is nothing else to download.

 

 

You mean for the Second Life default Avatars?

 

The Gatcha example was hypothetical and one approach in implementing them. It seemed to me dynamically downloading morph targets would relieve the burden of downloading multiple meshes contained in one big file at first download, since their not all used at once. 

If a way exists to implement morph targets without duplicating the original mesh then I'm not aware of it, but I've always known that's how they work. I love morph targets, but I don't know of a way for them to not place burden on download cost for an online world like Second Life or any other online world. 

I remember when some one asked the Cloud Party developers if they would be implementing Blend Shapes at some point and they responded with saying they would never be implemented because you would need to download multiple versions of the same mesh. I would think they would know of a way to safely implement them but they didn't.

Link to comment
Share on other sites


RipleyVonD wrote:


Medhue Simoni wrote:


Well, I really think you are wrong about how the morphs get displayed. It's all in the 1 file. There is nothing else to download.

 

 

You mean for the Second Life default Avatars?

 

The Gatcha example was hypothetical and one approach in implementing them. It seemed to me dynamically downloading morph targets would relive the burden of downloading multiple meshes contained in one big file at first download, since their not all used at once. 

If a way exists to implement morph targets without duplicating the original mesh then I'm not aware of it, but I've always known that's how they work. I love morph targets, but I don't know of a way for them to not place burden on download cost for an online world like Second Life or any other online world. 

I remember when some one asked the Cloud Party developers if they would be implementing Blend Shapes at some point and they responded with saying they would never be implemented because you would need to download multiple versions of the same mesh. I would think they would know of a way to safely implement them but they didn't.

Like I said, not all 3D programs do morphs like Maya. As far as I know, Maya is the only program where you have to create multiple instances of the mesh to create a blend shape. The Cloud Party people used Maya. That is why they think that way, and also why they had so many issues with the avatar skeleton. An FBX file with morphs does not contain multiple instance of the mesh, as far as I know.

The Secondlife Avatar uses morphs, and we are not downloading a new mesh every time we change it. All the expressions, and hand poses are morphs also, and are played like an animation. You don't see thing freeze or hesitate when playing hand morphs. I just think you are making assumption that you can't really make.

I just did a quick test with my snake. I exported 1 FBX with all the blend shapes, then I exported another without blend shapes. The 1 with no blend shapes was about 1mb. The 1 with 9 blend shapes was 1.26mb.

Link to comment
Share on other sites

The point is that morph shapes actually have to be defined somewhere. So in principle a morph shape is at least a partial mesh (if implemented well) but it can of course be as heavy as the base mesh if all verts if the morph changes all verts.

The reason why the SL Avatar works ok is that the morph shapes (actually the entire avatar mesh) are allready included n your viewer.
 And Linden Lab did not add Morph shapes to rigged mesh because they would have to move all the extra morph data between the servers and the viewers.

Make an experiment:

 

  • In Blender select the 3 avatar meshes (from workbench or from avastar, doesn't matter)
  • Then export with shape keys included

Then look at the resulting collada file size. You will see the problem immediately. Although admittedly the Blebnder exporter does not do a good job here. However there is a lot more data when morph shapes are involved...

Link to comment
Share on other sites


Medhue Simoni wrote:


Like I said, not all 3D programs do morphs like Maya. As far as I know, Maya is the only program where you have to create multiple instances of the mesh to create a blend shape. The Cloud Party people used Maya. That is why they think that way, and also why they had so many issues with the avatar skeleton. An FBX file with morphs does not contain multiple instance of the mesh, as far as I know.

The Secondlife Avatar uses morphs, and we are not downloading a new mesh every time we change it. All the expressions, and hand poses are morphs also, and are played like an animation. You don't see thing freeze or hesitate when playing hand morphs. I just think you are making assumption that you can't really make.

I just did a quick test with my snake. I exported 1 FBX with all the blend shapes, then I exported another without blend shapes. The 1 with no blend shapes was about 1mb. The 1 with 9 blend shapes was 1.26mb.

I re-read my posts and I am not seeing how what I wrote can get cofused as me stating the Second Life avatar works a certain way, or works the way my hypothetical Gatcha situation explained. 3ds Max, and Cinema 4D also need multiple meshes for blend shapes.

 

Thank You Gaia for your explanation. ^_^

Link to comment
Share on other sites


Gaia Clary wrote:

Then look at the resulting collada file size. You will see the problem immediately. Although admittedly the Blebnder exporter does not do a good job here. However there is a lot more data when morph shapes are involved...

I was hoping you would chime in.

There is no doubt that it is more data, but the real question is whether it is too much for what you get. That base SL avatar in Avastar has, what seems like, hundreds of morphs. The vast majority of us are not making avatars with hundreds of morphs. Even when we talk about the clothing I mentioned earlier, we are talking 6 morphs or so. That's not alot of extra data when you consider that the mesh will fit anyone.

I'll give another example that I'm dying to do. Everyone loves werewolves. If you don't, something is wrong with you, lol. 1 distinct thing that a werewolf does is morph from human to werewolf. The only way to do this in most games is to wear a totally different mesh. In this case with morphs embedded in an FBX, you are saving data, not wasting it.

What about physics? I recently purchased Watch Dogs. All of the clothing physics looks to be done using blend shapes. This is far less process intense than having that clothing respond to real physics. You could never ride a motorcycle that fast, with the whole environment moving around you, if the clothing used real physics. If we have morph imports in the New World, we could do the exact same thing.

Plus, blend shapes are essential, not optional, at least in my mind. How can we make avatars talk and have expressions if we can't import blend shapes? It would be pretty ridiculous for us all to have to use 20 or so bones to do this. You are still adding data when you add bones too.

Link to comment
Share on other sites


Cathy Foil wrote:

Hi Gaia,

The push, pull and smooth tool as I have described wouldn't actually affect the weights of the mesh so calling it a "Weight Paint Tool" would be misleading.

The push, pull and smooth tool would be more of a "Sculpting Paint Tool" where it just moves the vertices in and out a bit for some fine adjustments.  I probably have it do it by pushing or pulling directly towards the or away from the camera.  The smooth function of the tool would just average the vertices.  The erase tool would just move it back to the vertices original position though if you had the brush set or 10% it would just move the vertice back towards its original position by 10% not all the way back.

This is exactly what I would like to have in the viewer. "A vertex adjustment tool". For newbies and unexperienced people there shoud be also an option "revert mesh back to original" as a safety measure.

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 3532 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...