Community
Maya Animation and Rigging
Welcome to Autodesk’s Maya Forums. Share your knowledge, ask questions, and explore popular Maya animation topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

No Bind Pose? New to Maya and Unity

10 REPLIES 10
SOLVED
Reply
Message 1 of 11
Anonymous
29068 Views, 10 Replies

No Bind Pose? New to Maya and Unity

I'm having a problem getting my animations from Maya to work in Unity but I'm not sure if the problem is with Unity or Maya.

 

When I export my skeleton and mesh together - with no animation because the animations are all in separate scenes / files. I get this warning:

 

The plug-in has found the following skin definition problems :

Unable to find the bind pose for : / Root / Spine1 / Spine2 / Spine3 / R_front_sholder. No bind poses in the hierarchy containing the object will be exported.

Unable to find the bind pose for : / Root / Spine1 / Spine2 / Spine3 / R_front_sholder / R_front_elbow. No bind poses in the hierarchy containing the object will be exported.

Unable to find the bind pose for : / Root / Hip / R_back_leg / R_back_knee / R_back_ankle. No bind poses in the hierarchy containing the object will be exported.

 

I don't know what's going on with the bind pose but if I try it, these are the errors that come up:

 

gotoBindPose;
// Warning: file: C:/Program Files/Autodesk/Maya2017/scripts/others/gotoBindPose.mel line 41: Could not reach pose on R_front_sholder rotate. //
// Warning: file: C:/Program Files/Autodesk/Maya2017/scripts/others/gotoBindPose.mel line 41: Could not reach pose on R_front_ball rotate. //
// -- IK may need to be disabled on this joint.
// Warning: file: C:/Program Files/Autodesk/Maya2017/scripts/others/gotoBindPose.mel line 41: Could not reach pose on L_front_sholder rotate. //
// Warning: file: C:/Program Files/Autodesk/Maya2017/scripts/others/gotoBindPose.mel line 41: Could not reach pose on L_front_ball rotate. //
// -- IK may need to be disabled on this joint.
// Warning: file: C:/Program Files/Autodesk/Maya2017/scripts/others/gotoBindPose.mel line 41: Could not reach pose on R_back_leg rotate. //
// Warning: file: C:/Program Files/Autodesk/Maya2017/scripts/others/gotoBindPose.mel line 41: Could not reach pose on R_back_toe1 rotate. //
// -- IK may need to be disabled on this joint.
// Warning: file: C:/Program Files/Autodesk/Maya2017/scripts/others/gotoBindPose.mel line 41: Could not reach pose on L_back_leg rotate. //
// Warning: file: C:/Program Files/Autodesk/Maya2017/scripts/others/gotoBindPose.mel line 41: Could not reach pose on L_back_toe1 rotate. //
// -- IK may need to be disabled on this joint.
// To disable IK, constraints, and expressions, you can use the Modify->DisableNodes menu.
// Other connections can be broken using the Script Editor.
// Or, to reset the saved pose on a joint, select the joint and enter 'dagPose -reset -name bindPose1'.

 

And when I export the animation from a difference scene file - I just export the skeleton with Key - Bake Simulation or animation baked in, I get this warning:

 

9 attributes had complex animation. Complex animation was exported as baked curves. (1800 evaluations done)

 

I really have no idea what I'm doing so any help would be greatly appreciated. Now I wish I had gone the simpler method of creating all of the animations in the same file but I was following a tutorial which said exporting the model and skeleton separate from the animations in industry-standard and you won't have to export everything if you want to change the model or add new animations, which I like. But then I found out that the tutorial is like from 2013. 

 

The animations are not working in Unity. When I try to play them, the model moves left and right (but there's no left and right movement in my animation?) but the limbs and stuff are not moving - my model is static when it should be running.

 

So things that might be problem: I added some bones after I skin bound the mesh using Add Something menu I found after Googling how to do that. I had to redo skin weighting but I did not have to unbind and rebind skin I think. But these were not the shoulder bones as in the warning so I don't know if it has to do with that.

 

Another thing - I might have changed the skeleton slightly from animation from the model. I changed the controllers from using squares (because I didn't realize they're edge separates which is very annoying when using them as controllers) to circles and there were two joints that became unparented or something I don't know how so I might have reparented them. I didn't think changing the controllers to circles would cause errors but the change parenting might - I don't know.

 

Please help me figure out what is going on. Right now it is such a mess and I hope I don't have to redo all the animations I did. Thank you.

10 REPLIES 10
Message 2 of 11
kirbysteele
in reply to: Anonymous

Hey jengui,

 

This often happens if you attach more than one mesh to a skeleton and they are attached at different times, or you add a joint to the hierarchy after you attached a skin. Whatever the reason there are a few lines of code that can get rid of this export error.

 

1. Find any of the current bind poses that are on your skeleton. They should be listed as outputs in the Channel box window. (This example only has one "bindpose1"

)Screen Shot 2017-08-22 at 9.47.18 AM.png 

2. Then you need to delete the current bind poses by typing the delete mel command into the mel command line. If there is more than one then just list all of them after the delete command: delete bindpose1 bindpose2 bindpose3;

3. Then select the root joint of your rig and create a new single bind pose that you can name whatever you want. This example names the pose bindPose: dagPose -save -name "bindPose"

 

Hope this helps!

Message 3 of 11
Anonymous
in reply to: kirbysteele

Thank you! That definitely helped: now the run animation is showing in Unity.

 

The other two animations are still not working right (the "die" animation doesn't move any of the skeleton, the character just falls over, completely static like a plastic toy, and the "attack" animation animates the front legs but not the back legs).

 

But this is a lot better than before when nothing was moving so thank you!

 

Maybe you or someone could figure out these warnings so I know what I'm doing wrong with the other two animations:

 

 

Animation curve tangent type changed to User:

 

Animation curve tangent type changed to Auto:

 

Complex Animation Baked:

 

Non-orthogonal matrix support:

 

 

Are any of these warnings causing the animations to break in Unity? I deleted the bind poses in these files as well.

 

 

Message 4 of 11
kirbysteele
in reply to: Anonymous

Hey! Glad to hear that the bindPose trick helped one of your animations. The other two errors you described don't sound familiar enough that I can name the problem. However, I do have a few questions that could help figure out what is going on. What type of file are you importing into Unity? If it is an fbx does that fbx play correctly if you import that into an empty Maya scene. If the file works in Maya you know that the issue is with a Unity setting and you can focus your efforts there. If you want I can take a look at the source files of the broken animations in case I can find something that might cause the issue.

 

Hope this helps.

 

Kirby

 

 

Message 5 of 11
Anonymous
in reply to: kirbysteele

Oh good idea! I loaded the animations into a new Maya scene and the animations are exactly like what they're like in Unity - so the problem is with how I'm exporting them.

 

I think I used the same method to export these animations as the running animations so I'm not sure what I'm doing wrong. I also tried to export with different settings.

 

I've attached the two Maya scene files that I'm trying to export from.

Message 6 of 11
kirbysteele
in reply to: Anonymous

Yo, 

 

Ok, I opened up the files you sent and exported fbx files from Maya and it seemed to work fine with these animation settings.

Screen Shot 2017-09-13 at 2.24.24 PM.png

 

I noticed something with the rig in the attack animation which will usually cause a problem when you import it into Unity. The jaw joints aren't part of the rest of the joint hierarchy. As a general rule, I tend to make all the joints part of a single hierarchy because Unity needs a point of reference to apply the transformation information. Otherwise, they are just floating in space and the rig will usually break. I attached a modified version of the attack animation source file and also exported fbx animation. Right now the jaw controls aren't animated but they do follow the rest of the rig so it doesn't look like its face rips off (which is pretty important).

 

Hope this helps!

Message 7 of 11
Anonymous
in reply to: kirbysteele

The reason why the jaw is separate is because I wanted to parent them to a controller but every time I did, it would separate from the skeleton...

The run animation also has the jaws detached and it doesn't seem to be a problem there.

 

The files you sent don't work with Unity's mechanim. I thought it was because the mesh was exported also (I only export the joints) so I went in an deleted the mesh and reexported it but it's still not working in Unity. Unity won't even let me drag it into the animator.

 

I tried the settings you have but my files are still exporting broken.

Message 8 of 11
kirbysteele
in reply to: Anonymous

Hey jeungwi,

 

Sounds like there are still a few issues. The parenting problem is fairly straight forward to solve in Maya. Instead of parenting the joint to the control you should use a parent constraint and make sure that the maintain offset option is checked. This way the joint will still be part of the single joint hierarchy but it will be controlled by the spline control.

 

As far as Unity is concerned, mecanim is designed to be used with humanoid characters. You should have success getting them to work if you set the type of animation to be generic or legacy. That being said it might be possible to get the avatar definition in the humanoid setting to work with the wolf skeleton if you make sure to match the joints for the wolf to the corresponding slots like knee, hips, spine, and so on. I wouldn't recommend this though since you will be fighting Unity the whole time because this isn't what mecanim is designed for. For example, things like the tail aren't part of the mecanim skeleton definition so you will need to make sure to add additional bones in the import settings to every wolf animation which can get annoying after a while.

 

 

 

Message 9 of 11
Anonymous
in reply to: kirbysteele

Great post! Thank you for the information. I thought Legacy animation just meant a old method of animation that Unity doesn't use anymore but keeps around for backwards compatibility, I didn't realize that mechanim was only for humanoid rigs. Just to be clear - when I'm using the Animator in Unity, I'm using mechanim - correct? My wolf does have an "avatar" attached, is that mechanim-only? And thank you for telling me about the parent constraint!

 

I need to read up on how to use generic or legacy animations.

 

I will fix these issues, read up, and try again!

 

Thank you again, you've been very helpful.

Message 10 of 11
kirbysteele
in reply to: Anonymous

Glad to hear that helped. Things can get a little confusing when trying to figure out the difference between the generic, humanoid and legacy options. The first big difference is that both generic and humanoid animations use the "Animator" component and the legacy option uses the "Animation" component.

 

An "Animator" component uses avatars and animator controllers to choose what animation plays and when that animation plays. The one thing that the humanoid option can do that the generic cannot do is retarget animation onto other humanoid avatars. So what that means is you could make one walk cycle and animate 20 different humanoid characters with that same walk cycle in Unity. The "Animation" component is kind of a container for all the animation clips that you want the model to be able to perform and there are no avatars involved.

 

There are a lot of great tutorials on youtube that can help you get you character animating in Unity for either option. Eventually, you or somebody else will  need to create and attach a bit of code in either C# or java script in order for the animations to fire based on controller inputs or game situations. It always surprises me how much effort goes into something that seems so simple like play an animation, but that is the name of the game right now.

Message 11 of 11
Anonymous
in reply to: kirbysteele

Awesome, it works! No More Errors!

Thanks for that, Its been bugging me for years. Definitely adding that step to my rigging pipeline from now on.

 

Error tag: gotoBindPose Unable to determine shape for transform 

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Technology Administrators


Autodesk Design & Make Report