|Search this Thread|
|21st Jun 2012, 07:16 PM||how do I make morphs work without bone assignments in workshop? #1|
I frankensteined a mesh and made the morphs of the frankensteined parts by hand. I somehow lost the bone assignments on the morphs but I still got them for the base mesh. When I load it in the TSR Workshop (as .wso file), the mesh looks fine, until I use the morph sliders... then it explodes.
Is there a way to make the morphs work without bone assignments (I read somewhere that morphs do not have to have bone assignments) or do I have to tediously copy all of the assignments per hand now?
The mesh is a two-group mesh and the frankensteined parts are in group 1. Group 0 works well, I still got all morphs for it so everything is fine there.
If it's possible, I would also consider creating the file without the workshop tool (I would need a step-by-step guide for writing the comments, I have no clue how to do that), if it saves me from copying those bone assignments...
Any help is greatly appreciated!
|21st Jun 2012, 07:54 PM||#2|
Whether the bone assignments in the morph meshes are used at all depends on what TSRW does when it imports that mesh. For EA meshes (separate structures for base and morph meshes) you're right, the morphs have no bone information. Also I kind of doubt it's bones causing your problems - mesh explosions when using sliders usually means your morph meshes aren't properly matched to your base. The vertices all have to be numbered the same, they have to be in the same sequence, and the list of faces has to be identical, including in the same order. I'd expect bone problems to result in parts of the mesh falling to the floor or not animating right, but I'm not an expert on that.
I don't think you'd gain anything by converting to .simgeom and working without TSRW, but you could edit your project contents and save as a .package, then export the GEOM meshes and the BGEOs. I have a tool in development that can convert meshes + BGEO to morph meshes, if you decide to give it a try. I don't think exporting from Milkshape as a .simgeom using the comments will work since GEOM and WSO store the bone information differently. Bloom is the real expert on this stuff, though.
|21st Jun 2012, 08:30 PM||#3|
thanks for the quick reply!
Maybe it helps if I elaborate a bit on my frankenstein-mesh. I took a gown mesh that had 2 groups ( the second one was for parts of the skirt) and another mesh (graduation gown) and I remodeled the graduation gown sleeves and attached those to the also modified gown mesh.
So I had a new gown with new sleeves. In MilkShape, I used Wes Howe's morph maker on group 0 and group 1 of the gown mesh before attaching the sleeves.
Then I deleted the gown sleeves and matched my new sleeves to it.
I then created morphs by hand for the sleeves. I wanted to have the sleeves in the group that only contained a little skirt-part of the gown (group 1). So I regrouped my sleeves with the group 1 and exported.
Group 0 was the gown with the deleted sleeves, this one was working correctly with the morphs.
The problem is that at some point my bone assignments for the sleeves got messed up, they are now not correctly assigned, some missing, some are assigned to the wrong bones. The base mesh is fine, all bones are correctly assigned to it.
And now I wonder how I piece it all together so it will work...
I did already try some functions of your mesh tool, but nothing worked, the mesh still explodes...
Unfortunately, I do not have the morph geom-files, because workshop only has the bgeo-files and your geom to bgeo-converter from your tool is not working (I'm not able to select a file, nothing happens).
I never had to worry about vertex numbering before, I always assumed workshop could somehow automatically do it and my base mesh is working fine... just the morphs won't. Or maybe I'm wrong and the base mesh is affecting the morphs, too...
I really have no clue what I should do, I'm so confused with everything right now... I'm working on this mesh since 2 days straight and it really drives me crazy, but that's always the case when I try frankensteining ... but I really need this mesh to work and so I will try everything possible
So any "try this, do this" advice is really appreciated
|21st Jun 2012, 09:31 PM||#4|
I assume you mean Wes's Morph Mangle in MIlkshape... Did you do all this work using a WSO mesh?
My feeling is still that the bones are not the problem, but I could certainly be wrong. Maybe when you regrouped the skirt part and sleeves the morphs had the mesh groups in a different order?? I'm just guessing here. Also I fixed the problem with the BGEO-converter: http://www.modthesims.info/showthread.php?t=478895
Could you upload the WSO mesh group you're having this problem with so I can take a look?
The thought occurs that it would be useful for me to add a function to my toolkit to copy selected values from one part of a WSO to another for problems like this.
|22nd Jun 2012, 03:03 PM||#5|
yes and yes
Certainly, I really appreciate your willingness to look into it I uploaded both groups, group 1 is the one I have trouble with.
Sounds awesome! I'd love more functionalities for .wso files.
Edit: removed my file (not needed anymore)
|22nd Jun 2012, 05:31 PM||#6|
Again, I don't think this can be fixed. While the meshes load into Milkshape and look fine: the faces are different, the vertex IDs are completely different and look corrupted, as you know the bones are different. The main problem is the faces - if they don't match there's no way the morphs are going to make any sense. Basically you've got four different meshes that happen to look alike but have different structures. There's nothing my tool can use to accurately copy information from one to the other.
Sorry! If you want to start over, I'd be happy to take the store packages, extract the meshes, and convert them to working WSOs for you to Frankenstein.
|22nd Jun 2012, 06:10 PM||#7|
That's sad news... so I can't use any of my meshes?
I'd have to start again, then and hope this time it will work. I'm creating the dress for a contest and the clock's ticking *sigh*
If you could help me with extracting/figuring out the meshes I would be very glad!
the gown mesh is the medieval gown, I think it came with Ambitions. The other is the graduation gown, just picked that one for the long sleeves, I could use another one as well, I guess.
I browsed through my now huge working folder and found meshes that I saved before frankensteining. I uploaded it to this thread, maybe those will still work/can be assembled?
All I want is attached my meshed sleeves to the medieval gown, I don't care how it's done as long as it works :D
And I have to do the other lod's as well when it's done, I didn't export them yet...
Thanks for your help, I really appreciate it!
Edit2: removed my file (not needed anymore)
|22nd Jun 2012, 09:11 PM||#8|
For some reason I thought the problem was extracting meshes from a store package - got confused. The problem is combining meshes for TSRW. I tried duplicating what you did but got a mesh that crashes TSRW. Looks like my tools need some work and more testing. Sorry, going to take more time. You could try in CTU, but if you're not familiar with it and with making new morphs, that could take a while too.
Okay, after much cursing and tooth-gnashing, I realized I had made a really dumb mistake. With that fixed, the group 1 with the grad sleeves and the dark ages skirt part imports into TSRW and the morphs work. You'll have to do your reshaping of the sleeves again, but with Morph Mangle you only have to do the base.
Procedure for TSRW Frankenmeshing:
Import WSO mesh 1 into Milkshape and chop off the parts you don't want from the base mesh ONLY. Export as WSO.
Run MeshToolkit and use the TSRW Morph Match function to update the morphs in the WSO. (This ensures that your morphs match your base exactly.)
Repeat for any other meshes that need parts removed.
Import the two WSO meshes that need to be combined into Milkshape.
Select the two group_base mesh groups, one from each WSO.
Click Regroup. Rename the regrouped mesh group to group_base, and either unselect or hide it.
Repeat for the two group_fat, group_fit, group_thin, and (if present) group_special groups.
Be careful! All the groups from the two meshes MUST be combined in the same order. It's easy to get confused. For example, I ended up with two group_thins and that was what crashed TSRW.
When done, export.
|22nd Jun 2012, 10:06 PM||#9|
Thanks a ton!
I will do the steps tomorrow and tell you how it went.
|23rd Jun 2012, 11:12 AM||#10|
I've got another quick question:
I meshed one of the sleeves and wanted to duplicate it so I don't have to mesh the other sleeve.
Here's what I did:
I deleted everything but the sleeve, then duplicated it, turned autosmooth on, mirrored it, turned autosmooth off. Then I deleted the other arm. I then flipped the uv map and lastly renamed the bones. Then I saved as .wso and imported this into my group 1 mesh. There, I deleted the unaltered sleeve from the base group and regrouped the newly mirrored arm into the basegroup.
I had the basegroup with the new sleeves and the other morph groups were untouched.
But Milkshape gave me a vertice mismatch information when trying to use morph mangle on the finished mesh. I also tried it with your mesh tool, that didn't work either. I double and triple checked - the sleeves had exactly the same amount of vertices as the original ones and I made sure I didn't accidentally delete something of the skirt part that is also included in the group. I have no clue where the mismatch comes from.
Did I do something wrong or is it simply not possible to mirror meshes when frankensteining?
I took the time and meshed the other sleeve, too. And IT WORKS!!!
I'm soooo relieved and happy
Thank you very much for your help, Cmar!
|23rd Jun 2012, 02:16 PM||#11|
I don't think you can do it, at least not that way. What you're doing is removing vertices by deleting one sleeve and adding new ones by adding the mirrored sleeve. MorphMangle is not meant for that situation - what it does is update morphs to reflect changes in position of base mesh vertices. It will not handle removal or addition of vertices. While your number of vertices may be the same, the order and the faces are probably different and for sure the vertex ID numbers are different.
My MorphMatch also won't help much - it'll give you distorted morphs of the mirrored sleeve because it still has the same vertex IDs as the first sleeve, if it works at all, because the morph is applied in the original direction instead of the mirrored direction.
IMO the only way to do this would be to do the mirroring process exactly the same way to the base and all the morphs and then import into TSRW. No guarantee it would work since any mistake would mean your morphs won't match.
|23rd Jun 2012, 05:05 PM||#12|
Okay, thanks, then I know this for the next time. If you do want to mirror something, how do you do that? Do you have to make custom morphs or work with geom-Meshes instead of wso?
I'm sure I will want to duplicate something again
The mesh that I created now works fine, except for some flaws with the uvmap of the sleeves. Tried to fix it by editing the uvmap in milkshape but copying the uv to the morphs (importing the updated uv as .obj- uv only) didn't work, gave me a weird patchwork-texture-look on the mesh, even though the uv looks fine. Or is the uv on morphs not important?
Fixing that would be the icing on the cake, but I'm quite happy with it right now, despite slightly flawed uv
I hope I don't give you a headache with all those questions
|23rd Jun 2012, 07:08 PM||#13|
My feeling is that mirroring is only feasible when there are no morphs or you then make the morphs manually. Of course, it should be possible to write a tool to mirror a mesh, so I may look into that!
TSRW should only use the UV from the base mesh, but the only way to find out is to try it!
|25th Jun 2012, 08:58 AM||#14|
I've got my creation finished You were right, TSRW only needs the uvmap of the base mesh *phew*.
I followed your step by step guide that you wrote earlier on the process of frankensteining with .wso files to create my lod 2 and it worked like a charm.
I fiddled a looong time with the textures, but at last I am satisfied with those as well.
BTW, a tool to mirror a mesh would be great! Your tools are always really helpful.
|25th Jun 2012, 10:46 AM||#15|
a tool to mirror the mesh?
You can do that in Milkshape. mirror the uvmap with lithunwrap.
Then rename the jooints.
|25th Jun 2012, 11:01 AM||#16|
I tried that (you helped me with my shoe mesh and there the mirroring worked), but the clothing mesh was corrupt afterwards, vertex ID's were wrong etc. (at least that's what Cmar found out, I don't know anything about vertex ID's )
I couldn't get the morphs to work afterwards (vertex mismatch, even though the vertex count was exactly the same on all meshes), then I made the morphs by hand but lost the bone assignments on the morphs and the mesh kept exploding in TSRW when I used the morph sliders....
I don't know what went wrong, but I tried it a second time with new meshes and the same happened again, so then I went and meshed both sleeves individually.
Did I miss something when mirroring? Do I have to adjust anything else besides uvmap and renaming the bones? Do I have to mirror all morphs as well or just the base group?
|25th Jun 2012, 02:49 PM||#17|
ah....i wouldn't go that far with the sleeves, it prolly is not going to work.
but yes, you need to duplicate and mirror the morphs aswell.
Im struggling with similar issues, while everything looks ok in Milkshape(autonumtool works, morphs matches etc) tsrw gives me borked morphs.
It is just so much work to export, convert to GEOM, run Toolkit, convert to WSO, reimport.
Each time i forget something..
If i had to do your sleeves i prolly loaded them in a seperate meshgroup, that will always work.
Unfortunate that group also contains meshparts of the hand.
Wat i always do(and always works) is to delete the whole hand in both groups(base and morphs)
Save those 2 groups and check them in TSRW, you have your full outfit without one hand.
I start new in MS, import the naked top and delete everything but the base hand(also delete the morphs)
Import the sleeves group, duplicate the hand 3 or 4 times and regroup each duplicate with a sleeve meshmorph.(and regroup both base meshes)
And since the hand is the same shape on base and morphs its ez to duplicate and regroup(no editing needed)
Another thing you should avoind when frenkensteining is Wes his merge tools.(unless you use the above setup)
They work great on matching the vert and boneweights but they do mess up the vertex id's
|26th Jun 2012, 01:32 PM||#18|
Thanks, I will try your method of grouping the hands for my next project
Okay, from now on I will use Cmar's mesh toolkit for the frankenstein morphs instead of Wes' Merge tools.
Always good to know these things