Page 1 of 2 12 LastLast
Results 1 to 10 of 12

Thread: Maya Exporter Roadmap

  1. #1

    Maya Exporter Roadmap

    Hey all,

    I have recently been looking at Collada and I really like the format. I am curious about the Maya Exporter though as it seems to be really simplistic at this stage.

    The following features do not seem to be supported at all:
    • Instancing
      Referencing - how would this work? Could the exporter automatically check if a collada file exists for each referenced file in Maya?
      Extra attributes on nodes (including notes)
      History and Tweaks - obviously this is important if this file format were to be the source format for files. However, to us, it is more important that the exporter has the option to collapse history and tweaks for loading/converting into the game format
      hard/soft edges


    What is the roadmap for the above features? Is there an estimated time to implement these features? Is it possible to help/contribute to the Maya exporter?

    Stuart

  2. #2
    Junior Member
    Join Date
    Aug 2004
    Location
    England
    Posts
    14
    Can I add a list of features we'd like to see implemented:

    1. Correct interpretation of other axes schemes.

    e.g. Max to Maya

    There is a problem if we export a scene from Max then import it into Maya. The objects are not oriented the same.

    2. recognises scale measurement (e.g. metres) defined in collada file

    3. Export of shader networks involving file(s)->layered texture->material


    4. Export of blendShape target shapes and animated blend weights

    5. importer should understand TEXCOORD in addition to UV to specify texture coordinate streams.

    6. Exporter will write TEXCOORD (or UV) depending on which the spec says is correct to allow interoperability with other Collada importers.

    7. export/import some attributes of the nodes
    (e.g. visibility)

    8. standardise on using .dae or .xml as the default file extension, and filter for this in the import/export file dialogs.
    But allow file spec of *.* to allow importing from other Collada files which may not use the correct extension.

    9. when importing detects the file type appropriately by looking at the contents of the file.

    10. initialise time range to fit range of frames imported if a collada file contains animation.
    (maybe this could be a user option)

    11. export of keyframed animation where the animCurve is not connected directly to the joint node.
    e.g. where 'character' and 'clips' are used. In this case animCurve is connected to character/clips which are then connected to the joint.

    12. Differences between scaling applied to joint/transform hierarchy and parent transform of shape.

    e.g. joint/transform hierarchy has a uniform scale on the top-most joint/transform which is not 1, but parent transform of shape has a uniform scale of 1.

    In this case the importer doesn't re-create the scene properly; the skin and joint hierarchy are not positioned and scaled the same as at export time.

  3. #3

    Scale?

    Also scale doesn't seem to work.
    Tests here show that scaling a cube and exporting it results in the collada file having a scale of <scale>1 1 1</scale>

    Anyone else get this?

  4. #4
    Senior Member
    Join Date
    Jul 2004
    Location
    Santa Clara
    Posts
    356
    Thanks all of you for this feedback.
    We will address this right after the Hollidays.

    Just a quick question:
    1. Correct interpretation of other axes schemes.

    e.g. Max to Maya

    There is a problem if we export a scene from Max then import it into Maya. The objects are not oriented the same.
    We tried some simple test cases here and it seems to work. We have seen problems with animation orientation thought.

    Could you send us a max file that show the problem, I'd like to understand if it is a Max or Maya issue !

    Regards

    -- Remi

  5. #5
    Junior Member
    Join Date
    Sep 2004
    Location
    Alias, Toronto, CA
    Posts
    11

    Re: Maya Exporter Roadmap

    Hi Stuart,

    Quote Originally Posted by stuartbryson

    The following features do not seem to be supported at all:
    • Instancing

    • This worked early on, though I think I pulled it out while I got some other things working. Shouldn't be too hard to add this back in.

      Quote Originally Posted by stuartbryson

      Referencing - how would this work? Could the exporter automatically check if a collada file exists for each referenced file in Maya?
      Referencing is certainly a bit tricky. There's two parts to this - one is adding support for external (i.e. outside the document) elements in the COLLADA import and export code, and the second is working out how to map Maya's file referencing onto it. If we restrict this to just whole surfaces/transform heirarchies, it shouldn't be too bad.

      Quote Originally Posted by stuartbryson

      Extra attributes on nodes (including notes)
      Do you mean blind data? Or do you mean adding Maya attributes that maybe aren't reflected in COLLADA?

      Quote Originally Posted by stuartbryson

      History and Tweaks - obviously this is important if this file format were to be the source format for files. However, to us, it is more important that the exporter has the option to collapse history and tweaks for loading/converting into the game format
      Just to clarify - do you mean that right now it collapses all history/tweaks, but that you'd like the option to store the history in the COLLADA file? Or are there some scenarios where the COLLADA output is not correctly collapsing the history/tweaks?

      Either way - I will say that trying to include Maya's editing history is a large task (and perhaps the best solution would be working out a generic mapping of Maya's node and attribute structure into COLLADA user data, then just dumping parallel structures for everything).

      Our initial focus will be getting the collapsed geometry out - but I'd certainly be happy for any offers of help adding the generic DG mapping =)

      Quote Originally Posted by stuartbryson

      hard/soft edges
      Hmmm ... perhaps I pulled the wrong normal out as I would have hoped this would have been reflected in the normal data. Need to investigate this.


    Quote Originally Posted by stuartbryson

    What is the roadmap for the above features? Is there an estimated time to implement these features? Is it possible to help/contribute to the Maya exporter?

    Stuart
    So right now, we're just tidying up COLLADA 1.1 core features, and are looking for input exactly like this on how many people are looking for which features. The best news (at least for me =) is that I'm very happy to have you contribute! Feel free to take a look through the source code and see if there are any features you'd like to add. It's probably worth dropping me a line to let me know what you're planning on working on (and possibly even how you're planning to do it) to minimise the chance of duplicated effort or changes I can't merge back in.

    So let me know what you're keen to help with!

    Cheers,
    G

  6. #6
    Junior Member
    Join Date
    Sep 2004
    Location
    Alias, Toronto, CA
    Posts
    11
    Hey guys,

    So, I just posted a small update to the exporter. This fixes the instancing on shapes, allows the importer to consume either "UV" or "TEXCOORD" and fixes export of scale values.

    Stuart, I looked into the hard/soft edge thing - and in my (admittedly trivial) test case, I exported two cubes, one with hard edges and one with soft, and the exported data does contain smoothed normals for one, and hard for the other. They also import back in ok. Do you have an example where this is not working? Or is your concern more that COLLADA itself doesn't explicitly describe edges as hard vs soft?

    Now, to some of your points Andy (skipping the one Remi is following up on) ...

    Quote Originally Posted by AndyM

    2. recognises scale measurement (e.g. metres) defined in collada file
    Do you mean you want automagic conversion between Maya's default cm and COLLADA's default metres, so that loading in a vertex at 1.0, 1.0, 1.0 will move it to 100.0, 100.0, 100.0? Or has an explicit unit parameter been added to COLLADA while I wasn't looking?

    Most of our customers choose to stay in Maya's default units, so I wanted to avoid having all the values change by a factor of 100 going in and out.

    Quote Originally Posted by AndyM

    3. Export of shader networks involving file(s)->layered texture->material
    There is no COLLADA standard element for representing a layered texture (at least, not that I'm aware of), and my focus to date is on supporting the standard elements. Does this mean you want COLLADA to define this element? Or that you want the Maya import/export to bury some Maya specific data in there that no other apps will understand? Or something else?

    Quote Originally Posted by AndyM

    4. Export of blendShape target shapes and animated blend weights
    Perhaps Marcus can correct me if I'm wrong - but I don't think we've gotten around to defining blend shapes/targets yet. Suspect that will be coming soon. Be sure to pass you priorities on extensions to COLLADA back to Marcus and co!

    Quote Originally Posted by AndyM

    5. importer should understand TEXCOORD in addition to UV to specify texture coordinate streams.
    Done.

    Quote Originally Posted by AndyM

    6. Exporter will write TEXCOORD (or UV) depending on which the spec says is correct to allow interoperability with other Collada importers.
    Not sure what you mean here - there should only be one right answer and that's the one I should export. I know it moved around a bit - so did I end up picking the wrong one? It's easy to change (just look in the syntax file for all the tags if you want to update it yourself).

    Quote Originally Posted by AndyM

    7. export/import some attributes of the nodes
    (e.g. visibility)
    Is this something supported by COLLADA that I haven't implemented? Or is this something you'd like added to COLLADA?

    Quote Originally Posted by AndyM

    8. standardise on using .dae or .xml as the default file extension, and filter for this in the import/export file dialogs.
    But allow file spec of *.* to allow importing from other Collada files which may not use the correct extension.
    The problem here is that Maya translators can only register one file extension. Unfortunately, COLLADA has two. My personal vote was for .dae (as there are loads of XML documents out there that are not COLLADA, so I feel using .xml will lead to ambiguity). If you look at the top of the DaeTranslator.cpp file, you can comment in whichever extension you would lik to use. Unfortunately, probability says that 50% of the people will not like the default I use.

    Quote Originally Posted by AndyM

    9. when importing detects the file type appropriately by looking at the contents of the file.
    Is this for working around the .xml ambiguity?

    As stated above, there are lots of extensions we can make to the exporter and you are most welcome to contribute, so if you'd like to add this code just send it my way =)

    Quote Originally Posted by AndyM

    10. initialise time range to fit range of frames imported if a collada file contains animation.
    (maybe this could be a user option)
    Agree that would be a nice touch. Again, contributions are welcome =)

    Quote Originally Posted by AndyM

    11. export of keyframed animation where the animCurve is not connected directly to the joint node.
    e.g. where 'character' and 'clips' are used. In this case animCurve is connected to character/clips which are then connected to the joint.
    I thought I handled this - so can I get the scene you're using?

    Quote Originally Posted by AndyM

    12. Differences between scaling applied to joint/transform hierarchy and parent transform of shape.

    e.g. joint/transform hierarchy has a uniform scale on the top-most joint/transform which is not 1, but parent transform of shape has a uniform scale of 1.

    In this case the importer doesn't re-create the scene properly; the skin and joint hierarchy are not positioned and scaled the same as at export time.
    I've fixed the export of scaling value in the latest drop - can you test it out now as this might fix this problem too.

    Cheers,
    G

  7. #7

    Re: Maya Exporter Roadmap

    Hi Gordon,
    Thanks for your reply.
    Quote Originally Posted by gbradley
    Extra attributes on nodes (including notes)
    Do you mean blind data? Or do you mean adding Maya attributes that maybe aren't reflected in COLLADA?
    The later. If I add a dynamic attribute to a node (float, bool, string etc) I would hope it would be exported in some form to COLLADA.

    Quote Originally Posted by gbradley
    History and Tweaks

    Just to clarify - do you mean that right now it collapses all history/tweaks, but that you'd like the option to store the history in the COLLADA file?
    Currently the exporter collapses all history/tweaks. For me I do NOT want history in the COLLADA file so at the moment things are good. This comment was mainly regarding the 'design goal' for COLLADA. If you were to add history and tweaks to the COLLADA exporter, it would be important to have the option to collapse as well.

    Quote Originally Posted by gbradley
    hard/soft edges
    Or is your concern more that COLLADA itself doesn't explicitly describe edges as hard vs soft?
    Exactly. You are pulling the right normal values out but for our purposes, we require a way to know if an edge is hard or soft based on an extra attribute for example. I am not quite sure how this would work.

    Quote Originally Posted by gbradley
    My personal vote was for .dae
    As is mine!


    Thanks.
    Stuart

  8. #8
    Senior Member
    Join Date
    Aug 2004
    Location
    California
    Posts
    771
    Quote Originally Posted by gbradley
    Quote Originally Posted by AndyM
    2. recognises scale measurement (e.g. metres) defined in collada file
    Do you mean you want automagic conversion between Maya's default cm and COLLADA's default metres, so that loading in a vertex at 1.0, 1.0, 1.0 will move it to 100.0, 100.0, 100.0? Or has an explicit unit parameter been added to COLLADA while I wasn't looking?

    Most of our customers choose to stay in Maya's default units, so I wanted to avoid having all the values change by a factor of 100 going in and out.
    Yes the <asset> element has supported units of measure and orientation since 1.0 release. For Maya default to be expressed correctly Gordon, you need to handle this explicitely at least at the instance document level. For example:

    Code :
    <COLLADA>
    <asset>
    <unit name="cm" meter="0.01" />
    </asset>
    ...

  9. #9

    Multiple UV input bug

    Hey Gordon,

    I have a scene where the exporter exports two UV input tags but only one UV 'stream' in the collada file.
    The mesh has a total of 6 verts - 2 quad faces but each

    tag doesn't seem to have enough data.

    Can you verify if this is correct or if this is a bug. You can download the .ma and .dae files from here:

    http://wyvern.com.au/~stuart/MultipleUVs.zip

    Cheers.
    Stuart

  10. #10
    Junior Member
    Join Date
    Aug 2004
    Posts
    7
    Hi Stuart,

    Just to let you know if you haven't found an answer yet - Collada supports reducing the number of required indices in p elements for inputs with the same indices.

    Since you have 2 inputs on the polygons element that are from the same source (testShape-map1), they can re-use the same index. This means that you have 4 inputs but technically only 3 unique inputs and therefore triples of indices.

    There's also an attribute on the input element that also can indicate separate indices for inputs from the same source. I believe if is called 'sid' or 'idx' - it changed at some point. I think the specification clarifies the procedure for defining the unique inputs from the list of inputs.

    Hope this helps,

    Regards,

    Rich

Page 1 of 2 12 LastLast

Posting Permissions

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