Jump to content

New Clothing Body Style Converter Beta v0.89f (10-26-2014)


Recommended Posts

Clothing Converter has been updated to Beta 0.27

 

This update adds the ability to constrain clothing conversions by axis. This can be extremely useful to eliminate unwanted transforms and distortions.

 

See the attached example nifs for an idea of why and how this can be useful:

 

Attached is a conversion of a DMRA Blackwood Plate Cuirass to FCPA using a newly generated minimal lattice.

 

cuirass_DMRA_Base.nif is the base cuirass

 

cuirass_DMRA_to_FCPA_No_Constraints.nif is the base cuirass converted with no constraints

 

cuirass_DMRA_to_FCPA_Selective_Constraints.nif is the base cuirass converted with X-Axis and Z-Axis constraints applied to all meshes except UpperBody:03, which received no constraints.

 

In particular, compare the appearance of UpperBody:01 in the three nifs. By constraining the UpperBody:01 mesh so that it can only be transformed along the Y-Axis, the essential shape of the mesh is preserved despite the radical reshaping of the breast region (DMRA to A cup)

Sample.7z

Link to comment

I appear to be getting the following error whenever I try to apply a clothing lattice 

 

Python 3.3.3 (v3.3.3:c3896275c0f6, Nov 18 2013, 21:18:40) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>
initialdir F:\Bethesda Softworks\Oblivion\Data\OBSE\Plugins\Convert Clothing b_27\Python\App\Scripts\Clothing Converter\target
initialdir F:\Bethesda Softworks\Oblivion\Data\OBSE\Plugins\Convert Clothing b_27\Python\App\Scripts\Clothing Converter\output
Loading Lattice
Traceback (most recent call last):
  File "F:\Bethesda Softworks\Oblivion\Data\OBSE\Plugins\Convert Clothing b_27\Python\App\Scripts\convert_clothing.py", line 256, in <module>
    Main()
  File "F:\Bethesda Softworks\Oblivion\Data\OBSE\Plugins\Convert Clothing b_27\Python\App\Scripts\convert_clothing.py", line 187, in Main
    lattice = loadLattice(current_settings['template'])
  File "F:\Bethesda Softworks\Oblivion\Data\OBSE\Plugins\Convert Clothing b_27\Python\App\Scripts\kg\lattice_util.py", line 22, in loadLattice
    lattice = pickle.load(open(path_, "rb"))
EOFError
>>>

 

I'm not entirely sure what I've done.

Link to comment

That error means that something went wrong when the lattice saved and you ended up with an incompletely saved lattice file.

 

Try generating a lattice with 'Make Minimal Lattice' enabled and see how it does.

I already had that enabled when I generated the lattice.

Link to comment

Ok, I get this error when trying to generate a lattice 

 

Traceback (most recent call last):
  File "F:\Bethesda Softworks\Oblivion\Data\OBSE\Plugins\Convert Clothing b_27\Convert Clothing b_27_Light\make_lattice.py", line 206, in <module>
    Main()
  File "F:\Bethesda Softworks\Oblivion\Data\OBSE\Plugins\Convert Clothing b_27\Convert Clothing b_27_Light\make_lattice.py", line 197, in Main
    lattice = kg.lattice_util.make_minimal_lattice(template_mesh)
  File "F:\Bethesda Softworks\Oblivion\Data\OBSE\Plugins\Convert Clothing b_27\Convert Clothing b_27_Light\kg\lattice_util.py", line 93, in make_minimal_lattice
    loc_list = [v.getLoc().as_list() for v in target_mesh.verts.values()]
  File "F:\Bethesda Softworks\Oblivion\Data\OBSE\Plugins\Convert Clothing b_27\Convert Clothing b_27_Light\kg\lattice_util.py", line 93, in <listcomp>
    loc_list = [v.getLoc().as_list() for v in target_mesh.verts.values()]
AttributeError: 'bool' object has no attribute 'as_list'
>>>

Link to comment

Using beta27 with minimal lattice on upperbody, I took a DMRA bikini top to FCPA.

I cleaned it up in nifscope for normals etc. and replaced the foot:body with original.

It took a total of around 20 minutes from start to seeing it in game.

A few areas are still muddled like the rings but for a single step work, I am quite pleased.

It will go into blender to match weightpant and see if I can reform the rings but that is minor compared to doing the whole thing from scratch.

 

 

 

post-33301-0-56851800-1393263589_thumb.jpg

post-33301-0-22278400-1393263641_thumb.jpg

 

 

 

Thanks gerra, it just keeps getting better and better.

Mem

Link to comment

Ok, I get this error when trying to generate a lattice

OK...that's a pretty weird error. It implies that there is a geometry block in the 'From' nif that has no vertices...which is is pretty odd.

 

Would you be willing to send me the nifs you were working with? I'd like to see if I can figure out what's happening.

Link to comment

Using beta27 with minimal lattice on upperbody, I took a DMRA bikini top to FCPA.

I cleaned it up in nifscope for normals etc. and replaced the foot:body with original.

It took a total of around 20 minutes from start to seeing it in game.

A few areas are still muddled like the rings but for a single step work, I am quite pleased.

It will go into blender to match weightpant and see if I can reform the rings but that is minor compared to doing the whole thing from scratch.

Very cool.

 

Try increasing the number of targets when you apply the lattice. That can smooth out some of the jaggedness of some of the transforms.

 

Also, experiment with constraining the allowed transforms of the rings...see what happens if you disable X-Axis and Z-Axis transforms for the rings.

Link to comment

I've been trying to convert various HGEC things to TGND. I've had success with some things.. though not full body things. I might be doing something wrong there. I've been trying to mash the correct tops and bottoms together in nifscope. Even when all the correct nodes are there I get errors.

 

This is my latest thing that actually worked. The conversion is nice, and really smooth, apart from those straps. I wish I knew how to use blender. I'm pretty sure that would be a really simple fix if I could.

 

 

Edit: Using the same settings, I tried to convert a dress from B-cup HGEC to TGND. The result is.. lacking. I tried using just the tops instead of a frankensteined body. 

post-26828-0-32753400-1393321407_thumb.jpg

post-26828-0-63238200-1393321469_thumb.jpg

post-26828-0-23745400-1393321481_thumb.jpg

post-26828-0-88603100-1393321489_thumb.jpg

post-26828-0-81212400-1393321763_thumb.jpg

post-26828-0-44030000-1393321771_thumb.jpg

post-26828-0-62186700-1393322731_thumb.jpg

Link to comment

What's your workflow?

 

Ideally, here's what you want.

 

First, merge the upper and lower body nifs for both your From and To bodies.

 

To make this work in Nifskope, you need to first copy the bone nodes branches (right click the niNode and select copy Branch) and paste them to the scene root of the other nif. Once all needed bones have been copied over, copy the mesh branch.

 

Next, generate the lattice.

 

Once you have a good lattice, you want to reuse that lattice for every conversion between those two body styles.

 

Finally, use that lattice to convert outfits. Don't merge or modify the outfits...leave them exactly as they are.

 

For clothing conversion settings...at this point I'm leaning towards a relatively high number of targets (as high as 30) and a relatively large search distance (20 or 30 or higher depending on the outfit). The tool uses a fairly solid cubic distance weighting algorithm, so high search targets tend to smooth, rather than distort, the results.

 

The optimal settings may vary a bit from outfit to outfit.

 

Lastly, pay close attention to any regions of distortion...You may decide to constrain the X, Y, or Z transforms of individual meshes within the nif.

 

Please keep in mind, this is a highly experimental tool...all feedback is extremely helpful.

Link to comment

I keep trashing the lattices because I haven't seen one give me really good results yet. But thanks to your tips, I was able to successfully merge a body so that the program can actually read it without getting errors.

 

I haven't done anything to modify the outfits in any way. I've just stuck them in the converting folder. For this last attempt at the dress I used a target of 30, and a search distance of 30. The result looks basically the same, only the wrists clip more and are more malformed. I'd noticed the weird wrist thing before, but I didn't really think about it. TGND does have smaller wrists and ankles, but they're not .. hourglass shaped.

post-26828-0-96946200-1393327161_thumb.jpg

post-26828-0-68542900-1393327171_thumb.jpg

post-26828-0-05092200-1393327200_thumb.jpg

Link to comment

 

Ok, I get this error when trying to generate a lattice

OK...that's a pretty weird error. It implies that there is a geometry block in the 'From' nif that has no vertices...which is is pretty odd.

 

Would you be willing to send me the nifs you were working with? I'd like to see if I can figure out what's happening.

 

Sure, here's the 'from' .nif i'm using

 

femaleupperbody.zip

 

Edit - I managed to get the tool working but it produces strange results...

 

here's a DMRA to HGEC C-Cup conversion

 

FlowerofAnvil.nif

Link to comment

I would say going from DMRA to FCPA is very doable with these tools.
Disabling axis transforms was not effective, it actually detached the rings ;)
What did work was ramping up the targets and search distance to 30+
I cleaned it in nifskope and then adjusted 4 or 5 verts in blender for clipping and
copied weightpaint.

 

post-33301-0-07825300-1393359218_thumb.jpg

 

 

 

Mem

Link to comment

I'll have a major update to Clothing Converter sometime in the next few hours.

 

Major Additions:

 

1. New High Resolution search option that significantly improves conversion quality between 'From' and 'To' nifs with significant differences in the number of vertices. This should resolve the reported issues with HGEC -> TGND conversions

 

2. Massive boost to overall speed. Significant re-factoring of the most expensive algorithms has generated a ~10X+ improvement to overall tool processing speed.

 

3. Several bugs have been identified and resolved.

Link to comment

Hmm, I keep getting this memory error when trying to generate a full body lattice (with newest version).

 

Traceback (most recent call last):
  File "C:\Python33\lib\idlelib\PyShell.py", line 111, in extended_linecache_checkcache
    for key in list(cache):
TypeError: __traceback__ may not be deleted
>>>

 

 

Link to comment

Thanks.

 

It appears that the python portable package doesn't include a full 'Time' module. I've removed all perf_counter calls from the tool.

 

The first error you're reporting sounds like a bad Python install of some sort...no idea what's happening there.'

 

Clothing Converter has been updated to Beta 31

Link to comment

Did the tool crash, or just stop responding for awhile?

 

For some reason that I haven't yet tracked down, the High Resolution TGND to ZKEC search is very very slow. No idea why as yet. It works out to ~140,000 pseudo verts searching a ~155,000 pseudo vert space, which isn't trivial. But it's much slower than it should be.

 

If I disable the high res search, the lattice is generated normally. High Res search works for every other mesh I've tested so far. I'm investigating.

 

*Edit*

 

I think I know what's going on. With any luck I should have a fix in a bit.

Link to comment

It's probably an out of memory crash due to excessive dictionary search calls. If I'm right, the problem should be fixed once I track down what's going wrong.

 

For now, disabling the 'High Resolution Search' should bypass the problem. I'm working on a more permanent solution now.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use