Results 1 to 5 of 5

Thread: joints : meaning of scales (Maya VS Max)

  1. #1
    Junior Member
    Join Date
    Oct 2005
    Posts
    24

    joints : meaning of scales (Maya VS Max)

    Hello,
    I'm kind of confused with the meaning of the scales for joint nodes in Collada : I'm not sure this is an implementation or design concern.

    For instance in Max and Maya there is a different behavior:

    - In Max, when you scale a root bone, the size of children bones are affected.
    - Maya bones don't appear to be regular nodes as the size of the child bones doesn't change when the root bone is scaled (only their position and rotate do).

    If joints transforms are exported the same way in Max and Maya, we get the same joint matrices, whereas the result is supposed to be different.

    What is your opinion on the subject? Do you think it's a design problem and Collada 1.4 would help on that too?

  2. #2
    Senior Member
    Join Date
    Apr 2005
    Location
    Feeling Software, Montreal, Quebec
    Posts
    111
    In Maya, when you create a skin, with a set of bones, the inverse of the scale factors at any bone is applied to its children, if they belong to the skeleton. If you ask me, that's a nasty hack in Maya's part.

    In COLLADA, when you do a <scale> transform on a scene node, it should apply to all the children. So, when importing in ColladaMaya, the inverse scale factors mentioned above are NOT linked, which results in the wanted COLLADA behavior. The potential issue comes with the export of Maya's skeletons that include scaling (worsened exponentially if they contain a scale animation). That issue is not yet resolved. I'm open to suggestions, if anyone has ideas on how to easily resolve this.

    So, my opinion is: this is just another DCC-specific issue that the plugin needs to resolve. COLLADA says that a node's scale transform applies to the children.

    Sincerely,
    Guillaume Laforte
    Feeling Software Inc
    http://www.feelingsoftware.com

  3. #3
    Junior Member
    Join Date
    Oct 2005
    Posts
    24
    Do you think it would be alright if you added an invert scale transform to each bone's children when exporting?
    This wouldn't be symmetrical to the import process though.

  4. #4
    Senior Member
    Join Date
    Apr 2005
    Location
    Feeling Software, Montreal, Quebec
    Posts
    111
    Adding an invert scale transform to each bone's children would partially work, but would break most importers.

    Assuming no scale pivots and no scale animations, I could merge the scale factors. With scale animations, I'd have to merge the animation curves/sampled value curves. If there are scale pivots: I guess I could add inverted scale pivot transforms. If the scale pivots are animated, it gets nasty, fast

    In the long-term, I'm sure we'll find an elegant solution. In the mean-time, use bake transforms and sampling.
    Guillaume Laforte
    Feeling Software Inc
    http://www.feelingsoftware.com

  5. #5
    Junior Member
    Join Date
    Oct 2005
    Posts
    24
    I didn't think it would fix the problem with bake transforms but indeed, it does. Thanks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •