Results 1 to 2 of 2

Thread: Animated Models - z_up_axis to y_up_axis

  1. #1
    Achilles4689
    Guest

    Animated Models - z_up_axis to y_up_axis

    Hey all,

    I'm having a heck of a time trying to convert my z_up_axis collada file to a y_up_axis collada file.

    For static geometry I can just do for each vertex:
    y = z
    z = -y
    (essentially a -90 degree rotation along the x axis)

    But for animated models this doesnt work as there is extra data that will be in the wrong coordinate system.

    My skinning equation is:
    vertex * bindShapeMatrix * InverseBindMatrix * Joint

    The biggest confusion is not really knowing which data is in it's own space and thus "immune" to z_up_axis or y_up_axis differences.

    Does anyone know which data (And how) should be changed in order to convert a z_up_axis model to a y_up_axis model?

    Thank you very much!

  2. #2
    Senior Member
    Join Date
    Aug 2004
    Location
    California
    Posts
    771

    Re: Animated Models - z_up_axis to y_up_axis

    COLLADA (almost) always defines things in local coordinate systems. It would be better not to bake the axis rotation into the vertices, since different users (i.e. node elements) of the mesh might specifiy a differet up-axis.

    If you don't bake the up-axis into the geometry then the bind shape is unchanged. The asset's up-axis can (should) be applied at the point of instantiation (i.e. to the destination object-space). This is coveraged by the object-space skinning definition as described on pdf page 37 of the COLLADA 1.5 specification.

Posting Permissions

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