Results 1 to 4 of 4

Thread: target attribute syntax, matching animation_clips to skins

  1. #1
    Member
    Join Date
    Dec 2007
    Location
    Costa Rica
    Posts
    42

    target attribute syntax, matching animation_clips to skins

    Hi,

    I am using the COLLADA_DOM

    Is there such a thing as a target attribute syntax resolver?
    "target attribute syntax" is the syntax used in an <animation> <channel>'s target attribute.

    I am reading the spec and seeing domChannel::getTarget() return an xsToken (which boils down to a char*), cringing at the idea of having to write a parser for it and then manually resolve the element.

    if there is none, whats the best way to go about it?

    Also, <animation_clip>s don't seem to reference <skin>s or <skeleton>s, nor do <skin>s or <skeleton>s seem to reference <animation_clip>s, how do you find out what clips belong to which skin?

    and is there a way to get to an <animation_clip> from <scene> (hopefully passing by an <instance_controller> or <instance_geometry> on the way)?

    I am asking because AFAIK <scene> is the place were you should start importing and creating instances but my DAE files don't seem to ever get to <library_animation_clips> or an <animation_clip> using the <scene> route.

    Thanks!

  2. #2
    Senior Member
    Join Date
    Jan 2006
    Location
    Foster City, CA
    Posts
    540
    Is there such a thing as a target attribute syntax resolver?
    The daeSIDResolver class is what you're looking for.
    Code :
    daeSIDResolver resolver(channel, channel->getTarget());
    daeElement* result = resolver.getElement();
    I'm not that familiar with Collada's animation system so I'm not sure about your other questions.

    Steve

  3. #3
    Member
    Join Date
    Dec 2007
    Location
    Costa Rica
    Posts
    42
    daeSIDResolver of course! I had a mental blackout there, I am using it for skin bone names, for some reason I was under the impression it was a different thing.

    Anyway, Thanks yet again Steve .

    I understand the basics of the animation system, however I think there might be something wrong with the specification here in regard to how animations are related to skins, probably a side effect of skins being introduced so recently.

    The thing is skins may reference JOINT <node>s via <joints> by sid, to quote the spec:

    "sids are used instead of IDREFs to allow a skin controller
    to be instantiated multiple times, where each
    instance can be animated independently"

    However animations transform joint nodes directly by ID, without regard to either <skeleton> or <skin>, in practice defeating the use of sids to reference joint nodes IMO.

    I might be missing something here though, its definitely something to look at before a new version of the spec is out.

  4. #4
    Senior Member
    Join Date
    Jan 2006
    Location
    Foster City, CA
    Posts
    540
    Unfortunately I'm not sure if the spec authors read this message board anymore. The best thing to do is post a bug to the Khronos bugzilla. I can't guarantee that your point will be addressed before the next version of the schema though. I submitted a bug a little while ago about an issue I consider to be pretty important, but I'm not sure it's been looked at.

    Maybe someone with a better knowledge of Collada's skinning system has something to say.

Posting Permissions

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