Jump to content

Clothing Bodytype Converter V.5.0 (12.24.2013)


gerra6

Recommended Posts

Posted

this script seems totally indispensable for skyrim. I'll test it immediatly

 

Glad to hear it. Please let me know how it handles the meshes.

 

Note, the Leg Ring and Waist Ring options are likely to be completely useless for Skyrim meshes. Fortunately, their usefulness has largely been superseded by the Vertex Group matching.

Posted

after some tests, i think something is missing. a reset settings button.

i tried different settings to make a lattice, but now it's totally weird, and i don't remember the base settings at all ( the one with less issue)

Posted

um, i have another script crash. whats wrong this time?

 

**Context Mesh Vert Categorization 0.023485 sec**
Traceback (most recent call last):
 File "", line 1, in 
 File "C:\Blender\Bin\Blender\.blender\scripts\object_create_transformation_lat
tice.py", line 2033, in 
   main()
 File "C:\Blender\Bin\Blender\.blender\scripts\object_create_transformation_lat
tice.py", line 2020, in main
   GetLattice(ob_act, obs, PREF_SD_BAND.val, PREF_SD_VNUMBER.val, PREF_LNUMBER.
val, PREF_LVERTDIST.val, PREF_LNODE_TYPE_X.val, PREF_LNODE_TYPE_Y.val, PREF_LNOD
E_TYPE_Z.val, PREF_X.val, PREF_Y.val, PREF_Z.val, PREF_X_CROSS.val, PREF_BUTTOCK
_ID.val, PREF_Z_EDGE.val, PREF_LATTICE_SIZE.val, PREF_GROWTH.val, PREF_WMAG.val,
PREF_ANODE.val, PREF_VLOCK.val, PREF_BREAST_RING.val, PREF_NECK_RING.val, PREF_
ARM_RING.val, PREF_UPPER_WAIST_RING.val, PREF_LOWER_WAIST_RING.val, PREF_LEG_RIN
G.val,PREF_MMARGIN.val,PREF_BUTTOCK_RING.val,selectedGroupsMatch)
 File "C:\Blender\Bin\Blender\.blender\scripts\object_create_transformation_lat
tice.py", line 1291, in GetLattice
   ctxNonManifoldVerts, ctxUncategorized_NMV = GetNonManifoldVertices(ob_ctx, 5
)
 File "C:\Blender\Bin\Blender\.blender\scripts\object_create_transformation_lat
tice.py", line 862, in GetNonManifoldVertices
   if TravelDirection[key][GroupOrientation[key]] < 0:
KeyError: 6

 

*edit* scratch that, it was user error not script error ;) as a source for generating a lattice I selected the clothing not the body underneath

Posted

um' date=' i have another script crash. whats wrong this time?

 

 

*edit* scratch that, it was user error not script error ;) as a source for generating a lattice I selected the clothing not the body underneath

[/quote']

 

The ring algorithms (arm, neck, etc) can get really touchy if they are used on meshes with lots of non-manifold vertices in unexpected places.

 

Nevertheless, I don't like that key error one bit. Would you mind posting the mesh that caused it so that I can track it down?

Posted

um' date=' i have another script crash. whats wrong this time?

 

 

*edit* scratch that, it was user error not script error ;) as a source for generating a lattice I selected the clothing not the body underneath

[/quote']

 

The ring algorithms (arm, neck, etc) can get really touchy if they are used on meshes with lots of non-manifold vertices in unexpected places.

 

Nevertheless, I don't like that key error one bit. Would you mind posting the mesh that caused it so that I can track it down?

 

here it is

Posted

after some tests' date=' i think something is missing. a reset settings button.

i tried different settings to make a lattice, but now it's totally weird, and i don't remember the base settings at all ( the one with less issue)

[/quote']

 

That's great idea. I'll see if I can come up with a clean way to implement it.

 

For the time being, there is a way to review your settings outside of the script and reset them.

 

1. Switch to the "Scripts Window"

2. Click on Scripts>System>Scripts Config Editor

3. This should open three new drop down menus.

4. Under the "Other" menu select CreateTransformationLattice

5. This should display all of the saved settings.

6. To revert all of the settings to the default, click "Delete"

7. The next time you run the lattice generator, it will use the default settings.

Posted

here it is

 

OK, here's the patch. That should kill the blender error and allow that sort of mesh to be used as a source (even on purpose!).

 

The Ring algorithms will probably choke a bit, but all of the default stuff should be fine.

 

Best results would probably come from pairing custom vertex groups on the source and destination meshes.

Posted

here it is

 

OK' date=' here's the patch. That should kill the blender error and allow that sort of mesh to be used as a source (even on purpose!).

 

The Ring algorithms will probably choke a bit, but all of the default stuff should be fine.

 

Best results would probably come from pairing custom vertex groups on the source and destination meshes.

[/quote']

 

well as I said earlier I used it as a source by accident. I can't see a reasonable explanation why someone would want to do that on purpose.

Posted

here it is

 

OK' date=' here's the patch. That should kill the blender error and allow that sort of mesh to be used as a source (even on purpose!).

 

The Ring algorithms will probably choke a bit, but all of the default stuff should be fine.

 

Best results would probably come from pairing custom vertex groups on the source and destination meshes.

[/quote']

 

well as I said earlier I used it as a source by accident. I can't see a reasonable explanation why someone would want to do that on purpose.

 

I know. But I like the idea of getting the script be as mesh-agnostic as possible. And if that error can occur on a mesh that you don't want to use, it might occur on a mesh that you do.

 

Mostly, I just don't like error messages.

Posted

Ok thanks to your script I was able to remake my ugly modification of stock chainmail.

 

From that it went to that

 

Basicly I was able to use part of other mesh that was for different bodysize

Posted

Ok thanks to your script I was able to remake my ugly modification of stock chainmail.

 

From that it went to that

 

Basicly I was able to use part of other mesh that was for different bodysize

 

Very nice work

Posted

Ok thanks to your script I was able to remake my ugly modification of stock chainmail.

 

From that it went to that

 

Basicly I was able to use part of other mesh that was for different bodysize

 

Very nice work

 

and the base of that was the mesh that I sent you (the one that produced that error)

 

*edit* and I spend too much time in blender. Now when I want to delete a file in windows I press X and wonder why it's not working

Posted

Great! Thanks, it works like a charm. I tested it on the same meshes and definitely much better than 3.5 &6.

 

Now let's call everything which can wear the skirt a woman.

Posted

Thx for good job and COOOL converter. It's so!! lovely. :D

 

And now i think in another cases. If lattice converter can apply in non weight obj? Like BNS obj file. Original it has Quake 3 engine weight but node is diffrent. And my blendr 2.49b has not PSK reader so it import in blender 2.62 and export to obj, and reimport in 2.49b and modifing is begin.

 

However here is blender file. And obj file. It can be possible? :)

 

 

 

Add:If who want see apply in oblivion than see http://www.loverslab.com/showthread.php?tid=119&pid=278549#pid278549 this. :D

Posted

Thx for good job and COOOL converter. It's so!! lovely. :D

 

And now i think in another cases. If lattice converter can apply in non weight obj? Like BNS obj file. Original it has Quake 3 engine weight but node is diffrent. And my blendr 2.49b has not PSK reader so it import in blender 2.62 and export to obj' date=' and reimport in 2.49b and modifing is begin.

 

However here is blender file. And obj file. It can be possible? :)

 

Add:If who want see apply in oblivion than see http://www.loverslab.com/showthread.php?tid=119&pid=278549#pid278549 this. :D

[/quote']

 

Well, that's an excellent question. The tool *can* be used on meshes with no weightpainting. Unfortunately, the only search algorithms that will function will be the basic nearest neighbor vertex search and the ring edge algorithms (Arm, Neck, Waist, Leg).

 

Of course, if a mesh has no weightpainting, it can't be rigged and if it can't be rigged, it can't be animated. So it will need some form of weightpainting to be usable.

 

So there are a couple of options. I *will* port this script to Blender 2.6x at some point, but first I have to learn Python 3.0 and the Blender 2.6x API.

 

In the shorter term, there is the Blender boneweight copy script. It's...OK. I actually plan on releasing my own boneweight copy script sometime soon, so once I do, you can use that.

 

And of course, you can always weightpatint the meshes yourself.

Posted

And of course' date=' you can always weightpatint the meshes yourself.

[/quote']

 

Do you know any good tutorials for this? I know the concept of how it works, but for the life of me I don't know how to go from an unweighted mesh to a weighted mesh, without using Bone Weight Copy. I know the theory behind weight paint (and use it for shrinkwrap function), but I've never understood how you tell the mesh what part to move according to which bone.

Posted

And of course' date=' you can always weightpatint the meshes yourself.

[/quote']

 

Do you know any good tutorials for this? I know the concept of how it works, but for the life of me I don't know how to go from an unweighted mesh to a weighted mesh, without using Bone Weight Copy. I know the theory behind weight paint (and use it for shrinkwrap function), but I've never understood how you tell the mesh what part to move according to which bone.

 

No idea about tutorials. I sort of learned how to rig and weightpaint meshes by trial and error and a whole lot of poking my head into python scripts.

 

So here is what I know. You've got your basic skeleton, called an armature modifier in Blender. This armature has a number of bones (with various setting that determines how each bone moves relative to the other bones and how it deforms vertices that it is parented to) and each bone has a label.

 

That label is important. It might be something like Bip01 Forearm.L.

 

When an armature modifier is added to a mesh, how does the Bip01 Forearm.L bone know which vertices to influence? How does it know how much to influence each vertex?

 

Vertex Groups. If the group does not exist, you just create a new group (it will be named group.###) and then rename the group to the bone you are working on.

 

Next, enter edit mode and select all of the vertices that you want in that group. I generally toggle into wireframe mode (z) and use box select here (B). Shift + and Shift - are handy to grow and shrink the selection. If I want to start from an edge Control Shift Alt m selects all non-manifold vertices.

 

Once they are all selected, I can add choose a weight with the slider and assign all of the currently selected vertices to the vertex group by clicking Assign. Generally, for a bone that represents a rigid part of the body, you will want a consistent boneweight so that all of the selected vertices hold their shape exactly. A value of 1.00 here means that each vertex will move exactly the same amount as the bone. A value of .5 means that the vertex moves 50%, a value of .1 means 10% etc.

 

What about when you get to the edge of a bone's influence? Well, you generally want a smooth transition from the rigid area to a joint. So one good tool to use when you're starting out is the "Grow Shrink Weight" script. Play with different settings and observe how they change the weightpainting.

 

How about for bouncy bits, like breast bones? Well for those I actually wrote a custom script that does all of the work for me. It's not user-friendly so I need to improve it a bit before I release it. The trick with breast bones is that you generally want a nice smooth weight gradient from the parts of the breast that should deform the most to the parts that should deform the least. For that, the Weight Gradient tool can be very useful.

 

A word of warning. Weightpainting a mesh from scratch is boring. Really Really Boring. Growlf created some rigging tools way back when that overcome some of the limitations of Blender's boneweight copy script and allow you to generate passable weightpainting with it.

 

I'm working on my own boneweight copy script that uses my own vector search algorithms. Once it's done it should (hopefully) produce better results and do it MUCH more quickly.

 

In the meantime, I also recommend weightpainting only the either the left or right axis of the mesh and using a mirror tool (either mine or the one that comes in Blender) to copy the weights to the other side.

Posted

Thx for good job and COOOL converter. It's so!! lovely. :D

 

And now i think in another cases. If lattice converter can apply in non weight obj? Like BNS obj file. Original it has Quake 3 engine weight but node is diffrent. And my blendr 2.49b has not PSK reader so it import in blender 2.62 and export to obj' date=' and reimport in 2.49b and modifing is begin.

 

However here is blender file. And obj file. It can be possible? :)

 

 

 

Add:If who want see apply in oblivion than see http://www.loverslab.com/showthread.php?tid=119&pid=278549#pid278549 this. :D

[/quote']

 

So I've taken a good long look at the mesh in Blender.

 

There are a couple of big issues for which I don't see an easy solution. The first is the fact that there is no body, just overlapping layers of clothing. This isn't a problem once we have the lattice, of course. But using clothing to generate a lattice can result in some pretty terrifying deformities.

 

The second issue is the angle of the arms. That angle is so radically different than the angle of the arms in the target mesh that the tool doesn't really know how to handle it.

 

With vertex groups added to the arms on both meshes, the tool *can* create a lattice that will move the arms into the correct position. However, in it's current form, the arms end up incredibly deformed.

 

I'm going to see if I can come up with a solution. No guarantees.

Posted

Can i say another request?

 

Brest boneweight script release is thx but really many problem is skirt bone weight. Thight L, R bone weight is always twisted and all mods skirt boneweight is diffrent.

So i use lower body boneweight.

But that case skirt has infested boneweight like this

 

 

It can be solve in blender script? Or its impossible area? I'm new and baby in boneweight problem. :D

 

Waiting your wise answer. You seems Genius man to me. :)

Posted

Waiting your wise answer. You seems Genius man to me. :)

 

Are you talking about gerra6? If you do then I can say that he seems like that to me too :D

 

*edit* I somehow missed that this was a reply to your bodytype converter not vanilla bu xD In that case it's safe to assume he was talking about you

Posted

Can i say another request?

 

Brest boneweight script release is thx but really many problem is skirt bone weight. Thight L' date=' R bone weight is always twisted and all mods skirt boneweight is diffrent.

So i use lower body boneweight.

But that case skirt has infested boneweight like this

 

 

It can be solve in blender script? Or its impossible area? I'm new and baby in boneweight problem. :D

 

Waiting your wise answer. You seems Genius man to me. :)

[/quote']

 

You know, I keep meaning to finish up my boneweight copy scripts, and my BB Boneweighting scripts. I had better go ahead and do that one of these days.

  • 2 weeks later...

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...