Archived

This topic is now archived and is closed to further replies.

Replay 3DS max Bezier or TCB animation

This topic is 5323 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Ok sorry I will not crosspost anymore. But I really need help and it''s very urgent so I post a new thread about the same subject So my problem is I can''t create the correct tangent to interpolate quaternion exported from max (bezier or TCB mode) with squad (spherical cubic Interpolation). I tried with D3DX function but I have bugs in some case. Here how I''m call D3DX function: Keyframe Exported from max : Q1 Q2 Q3 Q4 Q5 .... So when i want to interpolate between Q3 and Q4 I call : D3DXQuaternionSquadSetup(&A, &B, &C, &Q2, &Q3, &Q4, &Q5); then I call : D3DXQuaternionSquad(&Qres, &Q2, &A, &B, &C, t); This is exactly how the DX documentation explain how to use these functions. But It doesn''t work in some case and I don''t know why, and even less how to make it works. Any Idea ? Thanks Jerome

Share this post


Link to post
Share on other sites
Even if you're not a registered Sparks member, you can still call/email Discreet's developer support. Tell them it's really urgent, and you want to register at Sparks, but don't have time to wait for your membership request to be processed...

But really, they are very nice and helpful there. I already called them several times (the first few times without a Sparks membership), and I always got help. You can also try Discreet's developer forums. Be sure to have your serial/authorization number handy, when you call Discreet.

BTW, their main office number is +1/415-507-5000. Ask for Discreet developer support.

/ Yann

[edited by - Yann L on August 15, 2002 8:46:13 AM]

Share this post


Link to post
Share on other sites
Thanks for the advice, I''ll try that

And If I can''t make this works, I think I''ll sample the rotation value like I see in a lot of sample code, even if I don''t like a lot this method because it generate a lot of keys. but at least it will works !

Another strange thing in max sdk is that in the doc they say that the rotation data we retrieve from controller is relative to the previous keyframe. But in my case (when I interpolate with slerp) If I do this it doesn''t works !! I just have to get each keys and interpolate between them, no need to prem-ultipliate them by the previous one !
I don''t know if it''s normal and maybe it''s the source of all my problems with sqad ??

Jerome

Share this post


Link to post
Share on other sites
Jerome,

Check out my reply to the guy asking about exporting with MaxScript. Not sure if any of that will help, but it''s worth taking a look at. You might also want to check out the MaxScript Help file. It''s about organized about 10,000,000 times better. Of course, you''ll have to cross reference what''s there with the SDK in case the SDK and MaxScript don''t work exactly the same, but it should give you a lot more insight a lot quicker.

Good luck!

-John

Share this post


Link to post
Share on other sites
Hmm. I have a hunch that the problem may lie in irregularly spaced keyframes. I notice that all my squad rotations work perfectly for the entire character animation except those who are spaced irregularly. I''m thinking of trying it without squad setup like this:
slerp(slerp(key1,key2,(t2-t1)),slerp(key3,key0,(t3-t0),2t(1-t))
[I think that''s how it went]
I''m not sure if I''m right, but my impression is that there is a spherical interpolation from key0 to key3 of which the regular interpolation (key1,key2) is "bent" towards. Somebody please correct me if I''m wrong. Will this work?

Share this post


Link to post
Share on other sites