Home Technical Talk

3ds Max ::: CAT / FBX Go nuts issue

polycounter lvl 8
Offline / Send Message
Red-Fox polycounter lvl 8
Hey Guys!
I have a little trouble over here :poly122:

I'm working on the rigging of a character to be exported using *.FBX file format for Unity engine.

"Use CAT" they said, it's better than the crapy biped (I'm no fancy animator :poly142: , so I did.

I used cat, it's seems a lot better than BIPED, BUT when i tryed to do some export test in game, realized in the export pocess the character was transformed in a horror creature!

Also I got this warning from max:
One or more objects in the scene has local axes that are not perpendicular to each other (non-orthogonal).
The FBX plug-in only supports orthogonal (or perpendicular) axes and will not correctly import or export any transformations that involve non-perpendicular local axes.

I did some research and i belive that the problem it's related to some coordinates issues from the perspective view while I was setting up the CAT rig.

Theres is some way to solve this?

I used different fbx versions with any succes.

Thanks guys!

Replies

  • poopipe
    Options
    Offline / Send Message
    poopipe grand marshal polycounter
    That error means you have wonky scaling on some of your nodes.

    My advice...

    Either.

    reimport the fbx and fix them, then fix the skinning problems

    build a nw deformation rig out of bones, skin the character to that, constrain it to the animated cat rig and export that instead

    id do the second one myself...
  • Mark Dygert
    Options
    Offline / Send Message
    Ha, actually biped works a lot better and is way more noob friendly than CAT for the reasons you are now finding out. Those who hate biped just haven't taken the time to understand it, or they are basing their opinion on some very old versions of biped, like versions that came out 10 years ago...

    You might want to try resetting the scale/transform matrix for the CAT pieces, Control Panel > Hierarchy tab (4 white boxes) > Reset > Scale & Transform. It might fix it, or it might break CAT. I also seem to remember hearing something about a export node in cat that can help when exporting animation, you might want to hunt around the help file for some info on that.

    Best of luck!
  • Bigjohn
    Options
    Offline / Send Message
    Bigjohn polycounter lvl 11
    Unfortunately I don't believe you can Reset the transforms for CAT objects.

    Anyway, that warning is just a warning. It should work fine even with it, although ideally it shouldn't be there. The issue you're having looks to me to be something else. You should check the scaling when you export, and check the baking of bones and whatnot. I've seen issues where it converts the scale from meters to inches or feet or whatnot. It can also bake objects into regular bones which seems to work better.

    But yeah, I agree, Biped was solid at this point and it had that "it just works" feel to it. But its functionality is limited. I'm personally happy they're moving to CAT, but I do wish CAT worked half as well as Biped does. Oh well, maybe in Max2021 it'll work well.
  • Mark Dygert
    Options
    Offline / Send Message
    Yea I can't trust CAT yet because of the bugs, but I do like it and I use it for non-bipedal rigs. I would use it for bipedal creatures but I wish it didn't have traditional IK/FK blending for arms, I really like biped's all on one system approach. They added a biped-like preset but it is very easy to break.

    So for bipeds I use biped, almost everything else I'll use CAT.
  • melviso
    Options
    Offline / Send Message
    melviso polycounter lvl 10
    Yeah..I am having some problems as well,If u see that message it means u need to reset or freeze transformations for the mesh.U could duplicate the mesh,delete history,freeze transformations and then bind the duplicate mesh to the bones and then copy the skin weights of the original mesh to the duplicated one.Test the new mesh,if it deforms like the old one,it means copy skin weights was successful.Delete the old one and try exporting again.
    I went through a lot of problems trying to eliminate most of the warnings I got while trying to export a skeletal mesh for udk.I got that error for my characters hair planes.I probably should have freezed transformations before binding and painting skin weights.Now I am having the same problem with motionbuilder.
  • Red-Fox
    Options
    Offline / Send Message
    Red-Fox polycounter lvl 8
    Thanks for the help guys! 0_o

    So far, since this it's a time based proyect I did again the rig, but this time using biped.But i won't give up on this, I'll try to fix the CAT rig.

    I think biped it's a great choice, it has limitations of course.
    But also I want to understand how the heck CAT works!

    So i will try to fix the model as you suggested and get back to you guys.

    One more crazy thing, as a test ,I created an alien rig from CAT, without any modifications and also spitted it out the same error. =_=


    poopipe:: I can't understand how I could messed up the scaling like building the rig, I tryied to be clean as possible but It borked anyways. :(
    Also I read that maybe the error it could be for creating the rig using the perspective view, but it sounds like BANANAS!
    Also as a test created an alien rig from CAT, without any modifications and also spitted it out the same error.

    Mark Dygert : Yeah, biped its like the old trick taht always works.I tried CAT, because it's overall advantages to animate, But its so easy to breake!

    Bigjohn : I got freaked out by the warnings and when I got back the *.fbx to max, the model was large deformed mosnter.The horror!

    melviso : Hey it sounds dandy!
    Got some noob animation questions:
    How I delete history and freeze transformations ?
  • Mark Dygert
    Options
    Offline / Send Message
    Red-Fox wrote: »
    Got some noob animation questions:
    How I delete history and freeze transformations ?
    Those terms typically apply to Maya, I think 'delete history' equoates to collapse the modifier stack and reset the scale/transform matrix.

    Maya has a history stack, max has a modifier stack.
    Max also keeps a record of what you have done to the object such as scale, move, rotate, this isn't a full record of what you do in 'sub-object mode' (poly, vert, edge ect) but a record of what you did to the 'object'. This object space should be reset to zero before skinning any objects to bones.
    I go over why object space transforming can be difficult to work with here:
    http://www.polycount.com/forum/showthread.php?p=1631776#post1631776

    To see what the transform matrix is reporting for a specific object you...
    Select your object right click the scale tool in the main toolbar, this will pop up the type in transform box, everything should read 100.0, select the rotate and move tools and check that everything is zero'ed out. If not head over to the command panel, click the hierarchy tab, and then under 'Adjust Transform' inside reset click transform and scale. This will zero out the transform matrix for the object.

    This should ALWAYS be done before skinning an object to bones and you should be careful how you scale bones for the exact same reasons. With biped it only lets you scale bones in figure mode which it suspends the transform matrix so it's never an issue, CAT on the other hand is much easier to break and harder to fix... Hopefully they will invest some time in bullet proofing it...

    To 'Freeze Transforms' you go to the command panel > Hirearchy tab > Link Info tab > and check on all the boxes for move scale and rotate. This really isn't nessesary in max, but it keep you from accidently selecting the mesh and tweaking the transform matrix with the move/scale/rotate tools after it's been bound, a handy step but probably not going to fix anything for you in max.

    TLDR:
    Before skinning...
    Collapse the modifier stack.
    Check the transform matrix and reset as necessary.
    Lock down move scale and rotate if you need to.
  • poopipe
    Options
    Offline / Send Message
    poopipe grand marshal polycounter
    It probably isn't your fault...

    Max is very forgiving over transform matrices on bones, it kind of knows that you don't want a stupid tranform on a bone because that would be silly. The thing is, it has to export the information to fbx just in case so when it brings the objects in, anything weird come back in without max having had the chance to decide it probably isn't desirable.

    Do everything Mark says

    And also,
    I never skin a character to the same rig that gets animated - the character gets skinned to a nice straightforward bone rig with frozen transforms and that rig gets constrained to the animation rig. That avoids this and a multitude of other potentially nasty issues to do with scaling and inheritance, it also gives you some redundancy and a cushion in case animators get all bitchy about how the animation rig is set up.
  • kanga
    Options
    Offline / Send Message
    kanga quad damage
    I am doing the exact same thing with max 2013, cat and unity 3.5.6f4. Exporting a rigged character using fbx 2013 I get errors
    The plug-in does not support the following objects' geometry type and will convert them to editable meshes. Morph and skin deformations may be lost.
    If 'Enable in Viewport' is deactivated, closed shapes are capped and open shapes are converted to dummy objects with no edges or faces.
    If 'Enable in Viewport' is active, the Viewport settings are used for the mesh conversion:
    Followed is a list of bones that are converted to geometry.
    One or more objects in the scene has local axes that are not perpendicular to each other (non-orthogonal).
    The FBX plug-in only supports orthogonal (or perpendicular) axes and will not correctly import or export any transformations that involve non-perpendicular local axes.
    This can create an inaccurate appearance with the affected objects:
    Followed by a list of bones that don't comply.

    So here is the strange thing. Supposedly you had to collapse trajectories for the cat rig before export. I tried that and cat motion gave me the result you show in your screen shots. Its the kind of result you get in other engines when you try and export a character that is not centered, at least where the root is not x=0, y or z=0 depending on what your up axis is. In short voodoo mumba limbs :) The animated keys work no problem. I read that position keys (set key) will send you character to the center of the unity universe so stick to auto key is probably best while animating.

    I tried to export out of max without fiddling with trajectories and the animation came in fine with the mesh. It also came in with all the bones as geometry but the fbx plug told me so. Ok, so I exported and pushed the cat HIK (human ik) button. The rig came into unity with the tail, palms, fingers, lower jaw and feet bones this time. Thats it. The animation is flawless and the mesh looks good, plus the cat motion walk cycle tacked onto the end of the idle animation also works without any issues.

    It seems unity reads my included bones as CharacternamePelvis which I cant delete. What you can do is select the bones and hide them from the render. The bones dissapear in the viewport and are not visible when you enter unity play mode. I have no idea if this will create issues further down the line but for now everything works like you hope it would.

    I also tracked down a method to retarget animation for cat fbx export here (first vid): http://area.autodesk.com/louis_tutorials/cat_overview_part_3_working_with_cat_data_and_crowds#step1

    Testing this method is todays task :) Looks good though because it reduces the rig to geometry and just loads animation onto them, like poopie says.

    I like the cat system because it is easier to use than CS. I had a very unfortunate experience with a bought model a client supplied that used CS (2011) and it was a nightmare. I am no animator by any stretch and if I cant get f curves to do what I want its just hell! For the best result I would build a simple bones skel in max, name it properly and export everything to motionbuilder and do everything there. MB pretty much rocks and is nice and smooth. One nice thing about cat is that if your character is in any way bestial cat motion does a nice job if you lower the pelvis from a higher rig which eliminated knee pop entirely. Also with the flick of a switch you get back, and strafe cycles free of charge.

    Op let me know how you get on. I will put down my findings on the retarget thing here when I am done.

    Cheerio
  • poopipe
    Options
    Offline / Send Message
    poopipe grand marshal polycounter
    first error - you're probably exporting splines

    second error - bad transforms on things.


    refer to my previous post on separating the deformation rig from animation rig and you won't suffer these issues. i successfully managed a max to maya to max to engine pipeline using fbx as the backbone by doing this.
  • kanga
    Options
    Offline / Send Message
    kanga quad damage
    Thanks poopipe
    It is not my intention to hijack this thread I just hope it helps the op.

    Yes checking the second error revealed a reset of scale and transformation should do the trick, but you cant because of the first error :) ha ha!
    Yes the retargeting (max tutorial I linked to) the animation will do what you say. The retarget rig is just a snapshot of the animated rig which reduces it back to simple geo I guess. Am doing it now.

    Cheers
  • poopipe
    Options
    Offline / Send Message
    poopipe grand marshal polycounter
    didn't watch it but nice to see the information is available.

    i generally prefer to build the deformation rig out of bones - snapshotting a cat or biped will give you geometry which you then have to explicitly not render. i don't think it'll make a lot of difference resource wise but still worth thinking about
  • kanga
    Options
    Offline / Send Message
    kanga quad damage
    If that is the case then there is no sense retargeting. As it is only half the bones come in as unwanted geometry. Going through all those hoops to keep twice that amount is inefficient.. Hmm, maybe retargeting onto a biped would be better since unity seems to like CS. Or like you say just whack out a standard bone construction.

    Thanks
Sign In or Register to comment.