View Full Version : maya blend shape help
riggo 06-22-2009, 08:42 PM Hi there,
i got a target shape for my base mesh. i've applied the blend shape, but the area that i worked on to get it to morph does not deform properly when the character moves about. when character is facing in the opposite direction from the position that i applied the blend shape in, the modelled part substracts from mesh instead of adding to it like it should. i tried using Origin as Local and as World under the Blend Shape creation settings but it doesn't help.
Do you know of a good way to keep the blend shape constant as the character is rotating?
Thanks
|
|
Boucha
06-23-2009, 01:37 AM
There must be an issue with your deformation order. Select the geometry and go to all inputs and check the deformation order. Blendshape deformation should come before the skin cluster deformation. Try moving the blendshape down the list below skinCluster...
riggo
06-23-2009, 09:19 PM
worked beautifully :) thank you
Boucha
06-25-2009, 03:24 AM
:beer:... Great !
CharleyBoy
06-25-2009, 07:59 PM
you can also use front of chain option next time, it will deform your blendshape by considering the orientation of the bones.
riggo
06-26-2009, 09:43 PM
hey there
yes, that is what i used 'front of chain' and it worked great.
However, i am adding another blend shape now and i need to use 'parallel' blending this time. and it seems that by default the parallel blender node gets added last. is there a way to have it applied before my skincluster? because here again the deformation order is not right and the mesh subtracts when it moves in the opposite direction.
thanks
Dragon
06-26-2009, 09:49 PM
nope... the best bet is to add a shape to your existing blendshape node using the add function in the edit deformers menu. This will run all your shapes in parallel without having to use the parallel node. As long as they're all in the same node all is good.
Boucha
06-27-2009, 02:40 AM
Yes Dragon is right, Just apply the new blendshape to the exsiting blendshape node. Go to edit deformer>blendshape>add...select your existing blendshape node and just apply:D
riggo
06-29-2009, 06:24 PM
hello there
thanks for all your help but i am still having a problem.
adding to front of chain blendshape, i get an unpredictable deformation.
what i have is two target shapes, for a bird.
1) simple puffing out of the neck (this works great no matter how i move the neck)
2) smoothing out of the mesh when bird is pecking. here i have rotated the skeleton at the 'hips' and translated and rotated the head down, to put it in pecking position. I'm smoothing out the part where neck meets pectoral muscles and I'm also making it look like it's hanging down a bit.
For this blendshape i've broken it down into two target shapes. one is a copy of the bird in inperfect peck position and the other target shape is how i want it to look. I set the first shape to -1 and the seond to 1. The -1 shape should prevent me from getting double transformations because points have already been translated when i rotated it at the hips. So now when i move my neck points to look relaxed and a little sagging on the neck, it should only register these translations, right?
So when I add this to the blend shape, the part that i adjusted gets translated into a different direction. Looks like it got translated in reference to the mesh's default state, not in reference to the pecking position. or i guess the translations that i worked on got applied in reference to the joints in the neck. Is there a way to apply this blendshape but keep the offset?
i've tried the same in 'parallel' blendshape, but this does not follow bone orientations. is there a way to make it do so in 'parallel' without changing to 'front of chain'?
thanks
Dragon
06-29-2009, 07:06 PM
Ok, I think I see what's going on. But first, even though we can get this to work, I still don't know if it is going to work like you envision. The problem that will soon become apparent is that you need something that applies your delta's post skincluster. You can't do this w/ Maya because the shape will overide all other deformers before it. When mixing blendshapes w/ rotational values given by a rig, you will get different results due to the linear nature of the blend. If you translate with the rig all is good because then the affect is additive.... we have our in-house deformer to deal with this problem, but you might want to try the comet pose space deformer to get around this..... anyway.... with that being said, let me see if I can help you through this...
Ok, what you need to do is isolate your delta's so that you are just capturing the offset from the original mesh, and not capture the shape givin by the rig. To do this we can use simple math. You will need 3 copies of the mesh... the netrual, the rig adjusted pose and the cleaned up rig adjusted pose. Create a blendshape with all 3 of them using the 2 rig based poses as targets and the neutral as the base. then dial in the cleaned up pose to 1 and subtract out the uncleaned pose by dialing it to -1. This should leave you with just the delta information. You can use this as your shape....
However, as I said earlier, this probably won't get you what you want, since the delta has no frame of reference telling it to move in a certain direction.
Hope it helps.
Boucha
06-30-2009, 03:47 AM
I think you should go for a pose space deformation...The blendshapes should be triggered in relationship with the joints transformation. The easiest way to achieve this is to do a quck set driven key by posing the joints and triggering the weight of blendshape. Since blendshapes work in a linear fashion you are always most likey to run into blendshapes adding on top of each order. I think you should also experiment with parallel blendshape. I don't know if it will work but it might work...
riggo
07-03-2009, 09:42 PM
thanks guys,
problem is parallel blendshape only keeps the blenshape oriented in a certain direction, and so it doesn't work nicely on the mesh on all angles that the mesh assumes. i'm thinking there might be a way i can 'overcompensate' my blendshape when i use front of chain blendnode, to account for the angle the mesh travelled when i rotated it
CGTalk Moderation
07-03-2009, 09:42 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.
vBulletin v3.0.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.