KatsBits Community

Modifying a model's size and deforming it to match the shape of a similar model?

0 Members and 1 Guest are viewing this topic.

Offline Zorakirby

  • Newbie
    • Posts: 1
Hi, I have looked everywhere and googled a solution to this, but I can't find anything.
I first tried getting an answer on the steam forums, but still nothing.
Here's a link to the thread I originally started:
http://forums.steampowered.com/forums/showthread.php?p=26814550

What I'm trying to do is take one model I have created, in this case, a hand/arm, and resize/reposition/rerig it to a different armature. The model I have already has a working armature, but I need to change it up so that its size and shape is almost the same as the other model that is attached to the other armature.

Here's an Image explaining it. The image also explains some things in text. (by the way it looks kinda crappy since its purpose is only to help with explaining this, I wasn't gonna put a bunch of effort into it):



*IMPORTANT STUFF
The image depicts only an explanation of what I'm trying to do. I'm actually dealing with a full human arm and hand here, and the rotations and positioning of bones and fingers are actually more complex, and the difference in shape between viewmodel and worldmodel versions is actually quite a bit more drastic.

none of the bones in either armature are directly connected to any other. Yes, the child/parent relations are there, and it's all one armature, but none of the bones touch each other.

the bones in armature A and in armature B have the same names.

also notice that the arm in the viewmodel version is scaled differently than the hand in the viewmodel, as compared to the worldmodel.

the actual 'myModel' model has 'armorlike stuff' protruding from different parts (the forearm and fingers)

I already tried making the bones attached to each other correctly and then setting up a "stretchto" constraint on each bone in armatureA to stretch it into armatureB's shape. it didn't exactly work. the nonmetal (parts that aren't supposed to be armor) parts of the arm stretched unproportionally with the armored parts, and the texture was horrendously stretched. however, it's possible i did it wrong, or something.

I think that's all.
If it's still difficult to figure out what I'm trying to do, just say so, and I'll try to explain it in another way.


Offline kat

  • Administrator
  • Hero Member
  • *
    • Posts: 2690
    • KatsBits
Hmm... if I understand what you're trying to do here the only way this will work is to make sure you have the bone influences (vertex weight) and vertex positions exactly match the object you're trying to replace, else you'll end up with what's happening now; distortions due to the differences between the two (they don't automatically snap because the whole mechanism is based on the originating positional relationship between the two).

So... detach the the original mesh from it's rig (this isn't an Armature issue by the way) and using the section you want as a template, position each vertex of your mesh to exactly match that of the original - it's a bit laborious to do but snap the cursor to each vert of the original, then snap yours to the cursor; because you need exact positioning this may be the best way to do it. What you should end up with are two meshes shaped and formed exactly the same (you may need to edit your UVW maps in shifting vertices around like this to fix any stretching or distortions).

You'll next need to play around with vertex groups and weights to make sure your mesh deforms correctly (you might distortions with incorrect influences set so watch out for that). Might be best to duplicate the Armature and parent your mesh to it, that way you can have a reference (the original) as you work.

Whenever you're doing this kind of replacement you have to make sure, as best as possible, that what you want to add replicates what you're removing as exactly as possible in terms of it's main influences otherwise it goes all wonky.


Offline ratty redemption

  • VIP
  • Hero Member
  • *
    • Posts: 1031
    • ratty's deviantart pages
i don't know much about armatures, but recently i've been using lattices and the meshdeform modifier in 2.49 to deform mid to high poly meshes to fit around low poly ones, there is also the shrinkwrap modifier but that tends to flatten any detail in the high poly mesh that is being deformed.

snap to cursor does work but is slow to use, so you could try shift + tab in edit mode which turns on snapping mode, that works pretty well with manually snapping verts of one mesh to another.