Blend shape error in maya! Please help me/_\

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

Thread Tools Search this Thread Display Modes
Old 03 March 2013   #1
Blend shape error in maya! Please help me/_\

Hi, I am a student who are working in my final year project. Recently, I faced a big problem of blend shape in maya2011.

Here is the video shows the problem .

it took me few sec. to import the file to maya in the first time. Then I ran the script which can delete all the dupicated namespace.
However, it started to get slow down in the second time, but it still worked. sometimes it works sometimes it doesn't.
After a few times of importing files, error messagesss popped out from maya, and maya was forced to shut down.

Today, I found that the problem is come from the feather blend shape. When I delete all the blend shape history on the original mesh, then every thing is fine! But when I blend the feather again, the problem happened again.

I also tried create a new maya scene and import the old file into the new scene, but the problem still here.

So, anyone know that what is it about? Any suggestion to fix it?

I really need a help! Please/_\!

( sorry for my poor English )
Old 03 March 2013   #2
I am not sure I entirely understand, you import a file and run a remove namespace script which crashes maya?

Unfortunately I think I would probably need to see your file and that script, do you have echo on? From the video it looks like you got a loop going, how come you run the script twice?

For a quick fix, if you are importing the object, can you just re create the blend shape in the scene?
Old 03 March 2013   #3
Thanks for quick reply!

I tried to recreate the blend shape again. But the problem is still here.
Also, I guess the problem was not caused by the namespace.

Can I send the file to you so that you can take a look for me?

Thank you so much for your help! =)
Old 03 March 2013   #4
Sure I will have a look over it.
Old 03 March 2013   #5
I watched your video to try and figure out what you are trying to do. Are you trying to have more than one copy of your bird character in the scene? Anyway that seems to be what you are doing.

You said your script was to remove duplicated namespaces. But it will not do that correctly. Unfortunately your script is bad, but lets not worry about that. Forget that script. The number of errors should have given you a hint.

Depending on your import options maya could be creating namespaces, or it could be adding a prefix to the names, because maya needs to avoid duplicate name clashes. Namespaces are there for a reason. They are the best way to avoid the name clashes and keep your hierarchy from getting messed up.

But instead of importing, you should be referencing the characters into the scene. This will create a namespace for each character. You will not need to rename anything. If you update your bird rig, you can simply reload the reference and your scene will update to the latest rig.

Some people will tell you bad things about references, but the good things by far outweigh the bad. References will be a big help if you are working with multiple characters in one scene. They are still very useful if you have only one character in the scene because they help keep you organized.

Old 03 March 2013   #6
Woo.....thanks so much for your long reply. I can learn a lot from it. You guys are so helpful!
This is what I want to do!=)

Actually, I got two birds with the same rigging system. So I need to import those birds into one scene. If I can't do that, I cannot start to do my animation.

However, I have tried to use create reference instead of import into maya. But the problem still happened.

Do you have other suggestion for me?please help!
Old 03 March 2013   #7
If you dont get a better answer from gmussio, feel free to send me a copy of your rig and I'll check it out.

Old 03 March 2013   #8
I just sent you guys a private message with a download link. Please check it out^^!
Old 03 March 2013   #9
Ok, I've looked at the rig and there are some things I would change.

The most important thing when building a rig is for the geometry to be as clean as possible. Your geo is terrible . It looks nice from a topology point of view, but under the surface is a different story.

The main problem is that you have some very messy history. It looks like you have done uv-edits and combined geo (28 polyTweakUV nodes and 33 polyPlanarProj nodes, some polyUnites and a polySoftEdge all happening after the blendShape). This is really bad. The polyUnites might be part of the rig design, but all the others should have been done before the blendShape and then cleaned up with a delete history. Same for any other geo, like the influence objects. No history unless it is needed - and in most cases it is not needed.

Next... the blendShape target geo should be deleted when you build the final rig. All this information is stored in the blendShape node, so those geos are just wasting space. The only time you would keep them is if they are animated themselves. If they are just static geo, delete!

And finally... namespaces. This is really just my personal preference, but I would not use namespaces for organising the components in your rig file. I think they just make things more confusing when you reference the rig into another scene. "Bird:LookingatBall" should just be "LookingatBall". You should also try to name things uniquely. And by that I mean unique short names. In maya long names are always unique. It is enforced. But short names are up to you. A long name like |bird|group1|object1 is unique, but the short name object1 may not be. This could elad to problems if you are not careful.

Maybe use groups to keep things more organized (you are doing this in places, but not every where). Use a hierarchy of groups and be logical.

Most importantly, you want a single top group with everything organized into logical groups below it. So if your top group is called "Rig", when you reference this into your animation scene you will have Bird1:Rig, Bird2:Rig and so on. Nice and neat in the outliner.

So to summarize: Delete history. Delete static blendshape target geo. Name things logically. Single top level group. Use referencing in your animation scene.

Deleting history from this rig, at this stage may need some parts to be rebuilt. Sometimes you must go backwards before you can move forwards.

good luck

Old 03 March 2013   #10
I am very sorry, it does not look like I am going to be much help. What ever those blend shapes are doing is just not going to let me open the file.

djx has made some good suggestions regarding hierarchy, always keep your scene as clean as possible, organization is key, and always keep your geometry history clean.

How is working after deleting the history off your blend shapes.
Old 03 March 2013   #11
Thanks you guys for answering my question. I can really learn a lot from it. Also, I will remenber always delete the history before I go to the next step.

This stage will take me a lot of time for redo the blend shapes. Therefore, I will post the result as fast as possible.

Thanks so much again^^
Old 03 March 2013   #12
Sorry, one more question for the history.

That mean my feathers blend shapes are fine? (because I need those histories)
The main problem is come from the bird body history?

Old 03 March 2013   #13
When I say history, I mean the construction of the geo. Eventually you should be aiming to build your rig using a script. It might be too early for that if your are just starting out rigging, or maybe you just never thought of it that way. Even if you are still doing the rig manually, try to break down the construction into separate components (geometry, skeleton, blendShape targets, rig-controls, etc). Then think about how those components need to fit together.

The geometry should be created and developed and saved in its own scene. When you are ready to build it into the rig you should delete all history. Make sure everything is named correctly, freeze transforms, pivots snapped to the origin, etc. That is what I meant by clean geo.

Then you can import the geo and other componets into your rig build scene where you will add skin clusters, blendShapes and so on. These steps can be scripted reasonably easily, and if you do that it means that if you decide the geo needs changing (for example you need to tweak the uvs) then you would gp back to the geo scene, make the changes, clean it up again and save. Then import the updated geo into the rig build scene and run your script to create a fresh version of the rig with the new geo.

Old 03 March 2013   #14
If you donīt want to sit and come up with names while modeling, I recommend using something like Comet rename.

And like the OP mentioned, naming something logical also really helps making things cleaner.

robotLeftArm_geo, robotBolt_01_geo etc. something like that
Old 03 March 2013   #15
Hi Kwok, nice to see you cleaned out all that history on the geo in the latest file you sent me.

You still have some junk in there though. My guess is that at some stage you used a mel script to do some modelling changes (maybe mjPolytools or similar). You have quite a few nodes with names like "loopSplit", "polySplitRing", "polySplit1Slide", and these have attrs driven by expressions. It does not look like any of these are still being used. I would say they should be deleted. In fact these may be the things that are causing your import problems.

After I deleted those nodes and grouped everything under a single group I saved the scene. I then had no trouble referencing several copies of the rig into a new scene.

A few comments about the design of the rig though...
There are 75 blendShape nodes. Most of these seem to connect your twist feather through to the real feather. There may be a more efficient way of doing that. I would look into using a single blendShape instead. There are a few approaches. I dont want to go into too much detail, but a single blendShape node can deform multiple geos. It involves a bit of effort to set up but that would be one way. Another, possibly easier, approach would be to use two polyUnite nodes, one to combine your twist feathers into a single geo, and another to combine your rig feathers into a single geo. Then blendshape using the combined geo. (I'm making the assumption that these are blendShapes that stay on all the time).

The use of expressions is ok, but I think in this case I would have used utility nodes instead.
This can just be replaced with a direct connection.
L_grpFn_feather_secOne_a01.rotateY = l_cc_featherMid_a01.rotateY;

This just needs a multiplyDivide node.
L_grpFn_feather_secOne_b01.rotateY = l_cc_featherMid_a01.rotateY*0.7;

It is very easy to write a script to loop through a few nodes and make those connections. You should look into it.

Thread Closed share thread

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Society of Digital Artists

Powered by vBulletin
Copyright Đ2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump

All times are GMT. The time now is 05:33 AM.

Powered by vBulletin
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.