exporting keyframes / using animateobject



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 31/01/2006 at 02:32, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:   9.1 
    Platform:   Windows  ;   
    Language(s) :     C++  ;

    ---------
    hi there...

    i'm very new to the cinema api...started just 2 days ago to work with it... hmm but the api description is sometimes a bit confusing to me...

    yes... i hear you cry ;) not again animateobject/keyframes... of course
    i used the search function of the forum...i read all forum posts about this more than once... and searched the net.. but somehow it did't help me...

    what i'm working on a small export filterplugin into a
    custom format...
    so far it works to export polys/points and uv data...
    my goal was to export the animation key frames too...

    1. try to get the animation stuff:

    first of all i tried to do it in coffee... with iterating
    via GetFirstTrack->GetFirstSequence->GetFirstKey and stuff...
    that worked so far... but i could not figure out what kind of
    keys i've got...hm

    beside this i updated to a newer cinema version (9.1) and my the script was overwritten by the installer... very cool feature... so all my work was lost :/

    anyway so i skipped coffee and tried to do it in c++...i was hoping maybe i can get more infos about the key i get back from the BaseSequence...

    2. try
    now using the c++ api... exporting polys/points/uv are working so far... no problem because of the stl plugin help ;9

    but always i get a NULL pointer from GetFirstTrack...(from object or document doesn't matter)
    of course there is an animation in the document i can see the keys in the
    timeline window... the scene has only one object with a movement and rotation...

    so i gave up iterating the keys and tried to do it via animateobject...

    3. try

    (pseudo code... unfortunately i don't have the source here so i'm writing it just from my mind i did not compile it...maybe some typos in it... but this is just to illustrate what i tried)

    variable i goes from... pDoc->GetMinTime()*pDoc->Fps() to pDoc->GetMaxTime()*pDoc->Fps()

    BaseTime time( i/pDoc->GetFps() );
    pDoc->AnimateObject( pObj, time, ANIMATE_NO_PARTICLES );

    when i access for example..
    pObj->GetPos() / pObj->GetRot()
    also tried pObj->GetMl() or pObj->GetMg()
    there is no change... ok maybe correct...

    then i tried to get the data via GetAnimatedParameter... very like the example in the docu...

    GetAnimatedParameter(DescLevel(ID_OBJECT_POSTION),s1,s2,mix,0);

    Vector pos1 = s1.GetVector();
    Vector pos2 = s2.GetVector();

    that vectors are looking good... but mix is always 0 ? this is what i can't see...

    i checked the time and it looks good too... my sequence has 90 frames so it runs from 0 to 3 (30 fps)...

    so now my questions...

    a) is it correct that i always get a NULL pointer from getfirsttrack ? i remember i read in the forum getfirsttrack doesn't work anymore
    with version x.x of cinema ? if so is there another way to get the keys ?

    or was it just for c.o.f.f.e.e ?

    b) is it correct how it tried to animate the object ?
    why is mix always 0 ?
    or is there a better way to get the animated stuff from the object... ?

    of course i would like to export keys... but if this don't work i would use animateobject... however just want to get it to run somehow ;)

    thanks in advance... ops got a bit long the post...sorry ;)

    ultra ;)



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 31/01/2006 at 09:09, xxxxxxxx wrote:

    hu...

    hm... thanks for reading... or not ;)

    already found the problem... as i said i copied the stl exporter example source...

    the example does in the save method:
    doc->Polygonize();

    Polygonize has a default parameter keepanimation = FALSE
    so it gave me a doc back without animation...

    hell... what a stupid bug...so finally it works and even how i though it works ;)

    anyway maybe this helps someone out...

    *(/ &%/&%/§(Q$%* ;)

    ultra


Log in to reply