Jump to content

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


Recommended Posts

Yes I agree, that's why I suggested it as a very nice idea if it could be done. (BTW, the default option was very unsatisfactory as you say.)

I've de-RHH meshes in Blender before and it can be a real pain, so much so that it isn't worth the time for an otherwise fine mesh.

 

Anyway, one for the long-term ideas pile.

Well, once you've de-RHH a single mesh in Blender, it should be feasible to use the pre-and post versions of that mesh as templates for the clothing converter to convert other outfits that share a similar problem.

Link to comment

Starting to wish I had this on more then one PC. I started it converting DesuChans store mod from her site (C cup to DMRA) and its taken four hours just to do one folder.

Yep, there's a cure. So to speak. Split your workspace folder into pieces and run multiple instances of the tool. Currently this tool uses only one core of your cpu. if you split them into four it will finish the job four times faster, assuming that you have enough idle physical cores.

Link to comment

That's a great idea Movomo.

 

One of these days I'll need to steal a page from your recent playbook and implement multi-processor support. Probably something I'll look into while I work on refactoring this giant spaghetti mess of code that I wrote.

 

Oh, the joys of learning coding by doing coding. Whee.

Link to comment

That's a great idea Movomo.

 

One of these days I'll need to steal a page from your recent playbook and implement multi-processor support. Probably something I'll look into while I work on refactoring this giant spaghetti mess of code that I wrote.

 

Oh, the joys of learning coding by doing coding. Whee.

 

I dunno if that's necessary.

 

If you make it stable on 1 core, and tell users that it's single threaded and behaves well with multiple instances, (perhaps even having multi-instance features) that's about as good IMO.

Link to comment

After some futzing a week or 2 ago, this is my current state of affairs.

 

 

 

iJldaGLCP8HpR.jpg

 

 

 

generally, a very clear case of "spacing" from the body. The breasts around the nipple however has significant distortion. Any ideas how to fix?

 

Also, could you please add a pause to the end of the python script(s)? When running, they exit and I have no clue whether it errored out or not. Piping the output to a file to make sure returns an empty file.

Link to comment

Yep but I don't see any reason not to have multiprocessing feature as well.

Because, you eventually have to choose the number of processes to spawn at some point.

And leaving it to the user's choice should be simple too.. Unless you're worried if the user will be confused wondering about what those buttons do.

 

And it's right I definitely want to see if they errored out or not as well.

 

We haven't had any success with freezing anything with pyffi so far. Is there any way not to open the console window without freezing it to an exe file? As far as I've seen if an uncaught exception occurs in a tkinter app it automatically generated a log file if the console window isn't open.

Link to comment

Well, I've not had much luck getting the console window to stay open when running the standalone version of the tool. There's something weird about the way that the standalone executable spawns the second console window that keeps closing it, even when I try to get it to stay open.

 

In large part, that's due to my shitty logging and error handling. When I refactor the mess of code, I need to implement some real error handling and make proper use of the python logger module. If I do it right, it should cause the tool to pause execution with an error message instead of the nasty crash that it currently inflicts on everyone (sorry about that).

 

I sort of spent my time figuring out how to do crazy surface searches and transforms before I...err...bothered with proper error handling.

Link to comment

*Edit*

Unless you want a cross platform stay_open, I've just tried os.system('pause') on seam mender and clean nif and it worked. Not certain what were you trying to achieve though. But for now this is the only thing people are asking for, imo. If it's open it's success, or not it's fail.

I know error handling is a whole different story but you can jury rig it with that. now with that you should be able to print traceback on the console and the log file.

 

I mean as long as they are caught.

 

and more work. duh...

 

*Edit*

Ah crap I just can't get the traceback written in the cmd window.

If I manually open the cmd window and launch portable python and the scripts with it they print everything including traceback on the cmd window. But with the batch file they silently fail.

Why? I spent 2 hours for this and still can't get a single line batch file working. Guess I'll have to learn some about std errors.

 

*Edit*

ok I finally got it working. Whee!

 

def keep_alive(*exc):
    traceback.print_exception(*exc)
    input('\nBail out because a bad thing happend.')
    #sys.exit(-1)

if not menu.end:
    sys.excepthook = keep_alive
    menu.save(file = config_file)
    Main()
    input('\nWork done, press enter to close.')
    #sys.exit(0)
the keep_alive function should let you stay alive in case that any unhandled exception blows a punch on you.

 

By the way, it's not relevant to this thread, but this is what clean_nif whines about when the target isn't a skinned mesh.

 

 

**********Meshes Initialized**********

1 vertices modified. Preparing to save 01.nif to E:/Games - Package/Elder Scrol

ls 4 - Oblivion/Utilities/Stand Alone Tools/Tools_beta_0_81/Clip/output

Rebuilding Skin Instances

delete_rigging, flatten_structure True True

skel <kg.file_util.load_nif object at 0x0364F470>

root_dict {b'Scene Root': <pyffi.formats.nif.NiNode object at 0x066C4030>}

Traceback (most recent call last):

File "PythonPortable\App\Scripts\kgtools\clean_nif.py", line 137, in <module>

Main()

File "PythonPortable\App\Scripts\kgtools\clean_nif.py", line 127, in Main

base_nif = process_nif(test_file)

File "PythonPortable\App\Scripts\kgtools\clean_nif.py", line 106, in process_n

if

file_util.save_file(base_nif, test_file, targets_found, current_settings, fo

rce_reskin = current_settings.get('reskin'))

File "E:\Games - Package\Elder Scrolls 4 - Oblivion\Utilities\Stand Alone Tool

s\Tools_beta_0_81\PythonPortable\App\lib\site-packages\kg\file_util.py", line 16

9, in save_file

target_mesh.save(file_name, current_settings, morph_dict = morph_dict, gende

r = gender, calc_normal = calc_normal, force_reskin = force_reskin)

File "E:\Games - Package\Elder Scrolls 4 - Oblivion\Utilities\Stand Alone Tool

s\Tools_beta_0_81\PythonPortable\App\lib\site-packages\kg\file_util.py", line 11

33, in save

self.rebuildSkinInstance(gender = gender)

File "E:\Games - Package\Elder Scrolls 4 - Oblivion\Utilities\Stand Alone Tool

s\Tools_beta_0_81\PythonPortable\App\lib\site-packages\kg\file_util.py", line 65

0, in rebuildSkinInstance

skin_instance.data.set_transform(mesh_.skin_transform)

AttributeError: 'mesh' object has no attribute 'skin_transform'

 

 

aren't I nice. Guess I'm brilliant when inventing another ways of lazy man's programming.

Link to comment

Any ideas how to fix?

 

It might be worth using Mesh Rigger to copy the body's weights over to the armor. I've gotten very good results with that.

 

(I used mesh Rigger to copy the BBB bones & weights from b3isario's pregnancy body over to UNP Topmodel, just as if its body.nifs were armor .nifs. That resulted in a UNP Topmodel body with belly and butt bones.

Now, I use Clothing Converter to convert armors to UNP Topmodel, which results in some gaps, but those go away after Mesh Rigger copies b3lisario's weights onto the armor.)

Link to comment

After some futzing a week or 2 ago, this is my current state of affairs.

 

 

 

iJldaGLCP8HpR.jpg

 

 

 

generally, a very clear case of "spacing" from the body. The breasts around the nipple however has significant distortion. Any ideas how to fix?

 

Also, could you please add a pause to the end of the python script(s)? When running, they exit and I have no clue whether it errored out or not. Piping the output to a file to make sure returns an empty file.

 

I think i'm seeing a bullet-tit problem. the sides are all mashed out like happens with HDTPE with skeleton changeups.

 

also didn't there used to be a feature to add some padding to the outfit?

 

 

 

It might be worth using Mesh Rigger to copy the body's weights over to the armor. I've gotten very good results with that.

 

(I used mesh Rigger to copy the BBB bones & weights from b3isario's pregnancy body over to UNP Topmodel, just as if its body.nifs were armor .nifs. That resulted in a UNP Topmodel body with belly and butt bones.

Now, I use Clothing Converter to convert armors to UNP Topmodel, which results in some gaps, but those go away after Mesh Rigger copies b3lisario's weights onto the armor.)

 

See that scares me.

 

Not because of the fear of fucking something up, but because I've yet to get any of these tools to produce for me anything close to what it's produced for anyone else and I fear the frustration of burning a w'end on it only to have the same results.

 

 

As for the whole console pause thing

how about this right here? That would put the output into a gui window. Console output becomes a thing of the past.

Link to comment

Trying to use this with New Vegas. I have been unable to convert *from* the skinny body

body: http://www.nexusmods.com/newvegas/mods/36206/?

outfits attempting to convert: http://www.nexusmods.com/newvegas/mods/38934/?

 

I initally ran the entire thing, it only gave back power armor and heels. When I tried to convert indvidual parts it ran but there was nothing in the clothing output. I've successfully converted *to* said skinny body but nothing happens or shows up when trying to convert from. Attempts were made with 2 different bodies.

Link to comment

I'm encountering a similar problem that some people have experienced before, where the Converter log says -
 

Loading Lattice
morph None
Lattice Successfully Loaded
Building Vertex Dictionary
Building Vertex Dictionary
Building Vertex Dictionary
Building Vertex Dictionary
None
lattice.morph_key None
dirpath {D:/Games/Bethesda Softworks/Convert Clothing RC_72/03_BU.nif}
Checking Directory Path for Nifs and Tri files
******NIF******
Processing D:\Games\Bethesda Softworks\Convert Clothing RC_72\03_BU.nif
**********Bones Initialized**********
initializing meshes
b'Foot:Body{}2{}' : Initializing Vertices
b'Foot:Body{}2{}' : Vertex Initialization Complete
b'Foot:Body{}2{}' : Initializing Skin
b'Foot:Body{}2{}' : *Initializing Skin Bone Transforms
b'Foot:Body{}2{}' : *Calculating world Coordinates
b'Foot:Body{}2{}' : Skin Initialization Complete
Building Vertex Dictionary
initializing faces
b'Bra{}11{}' : Initializing Vertices
b'Bra{}11{}' : Vertex Initialization Complete
b'Bra{}11{}' : Initializing Skin
b'Bra{}11{}' : *Initializing Skin Bone Transforms
b'Bra{}11{}' : *Calculating world Coordinates
b'Bra{}11{}' : Skin Initialization Complete
Building Vertex Dictionary
initializing faces
b'necklace{}23{}' : Initializing Vertices
b'necklace{}23{}' : Vertex Initialization Complete
b'necklace{}23{}' : Initializing Skin
b'necklace{}23{}' : *Initializing Skin Bone Transforms
b'necklace{}23{}' : *Calculating world Coordinates
b'necklace{}23{}' : Skin Initialization Complete
Building Vertex Dictionary
initializing faces
b'nails{}33{}' : Initializing Vertices
b'nails{}33{}' : Vertex Initialization Complete
b'nails{}33{}' : Initializing Skin
b'nails{}33{}' : *Initializing Skin Bone Transforms
b'nails{}33{}' : *Calculating world Coordinates


 
I didn't quite understand how to solve the issue, here's the mesh that I'm trying to convert into ZKEC Kaiaku E Cup Wide. I believe the mesh is based on HGEC E-Cup.

So if you have the time to take a look at it I'll appreciate it, thanks for the tool by the way.

 

*EDIT* Uploaded the mesh, sorry about that.

 

03_BU.nif

Link to comment

@Phelps1247

 

Why are you trying to use the SKINNY 6 BodyReplacer for Fallout New Vegas by Humannature66 to convert The SKINNYwear Shop NewVegas by Humannature66_LadyMilla to the SKINNY 6 BodyReplacer for Fallout New Vegas by Humannature66 ? I'm asking because the The SKINNYwear Shop NewVegas by Humannature66_LadyMilla already uses the SKINNY 6 BodyReplacer for Fallout New Vegas by Humannature66.

Link to comment

@cobme

 

Are you by any chance using the .72 build of the clothing converter found in the first post? If you are try using the .85 build instead which is the latest version of the clothing converter and is found in one of the later pages of this thread posted by Gerra6. First thing I saw when loading the nif up was the classic stretchy claw thing that is found in many of Krista's mods in game it shows up fine but if you try to convert it in the .72 build it will cause the converter to close when it hits the claws and tries to convert it but in the .85 build it doesn't effect it and it is able to convert the claws. If you are using the .72 build if you don't want the claws you can load up the nif in nifskope right click the claws and go to block - remove branch then save as to overwrite the nif. Doing that will allow the outfit to be converted.

 

I just tested it with the .85 build and it converted from the original ZKEC body to the ZKEC wide explorer E without any problems.

Link to comment

is there a way to tell, by looking at the nif somewhere, what skeleton was used on the mesh?

Yes...sort of, sometimes.

 

In an ideal world, all that you would have to do is open the nif and compare the transforms of the NiNodes (bones) between two nifs to determine whether or not they used the same skeleton.

 

*Unfortunately* for some damn reason, the vanilla Skyrim nifs used inverse bone bind transforms to reposition their skinned nifs. Basically, you know how you can move a nif around by changing the object level transform of the geometry block in Nifskope? Well, you can also move around a skinned nif by applying the *opposite* transform to the root bind transforms of every NiNode that the nif is skinned with. When the nif is loaded in game, the difference in bind transform between the NiNodes in the nif and the NiNodes in the skeleton is applied to the position of the nif in game, and everything gets shifted accordingly. If that sounds completely crazy to you...yeah...me too.

 

Nevertheless...for some crazy reason...that's what Bethesda did.

 

Note: there are *lots* of ways to transform a skinned nif. But of all of them, modifying the bind position of every NiNode in the nif is probably the craziest.

Link to comment

 

Thank you myuhinny ! I didn't think of that myself, I'll give it a shot.

 

.85.a is on like page 21

 

Off to find the post and update the front page.

 

Edit

 

And, finally after months of not doing it, the front page is updated with 0.85.a

Link to comment

Off to find the post and update the front page.

 

Edit

 

And, finally after months of not doing it, the front page is updated with 0.85.a

 

 

hooray (= good on ya.

 

Now . . . how do I force log/output on mesh rigger? It's nto even getting started on what I'm trying to do and I don't know why.

Link to comment

hooray (= good on ya.

 

Now . . . how do I force log/output on mesh rigger? It's nto even getting started on what I'm trying to do and I don't know why.

Just close the console window, that should automatically shut it down.

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