I've run into problems using FbxTime::eFrames30Drop.
I've written the following code snippet to demonstrate:
FbxTime time;
time.SetSecondDouble( 1.0 );
auto frameCount = time.GetFrameCount( FbxTime::eFrames30Drop );
FbxTime time2;
time2.SetFrame( 100, FbxTime::eFrames30Drop );
auto milliseconds = time2.GetMilliSeconds();
auto oneFrameValue = FbxTime::GetOneFrameValue( FbxTime::eFrames30Drop );
frameCount is always 0, doesn't matter what I initialize time with.
GetMilliSeconds() always returns 0, it seems that 0 was stored in time2.
And GetOneFrameValue() return 0.
All other modes seem to work fine, this only happens with FbxTime::eFrames30Drop.
I'm wondering if FbxTime::eFrames30Drop is even usable, or if there is some bug here.
Solved! Go to Solution.
Solved by regalir. Go to Solution.
Hi, to answer your question: no eFrames30Drop is not usable! It was defined, long time ago, exclusively for MotionBuilder. It cannot be removed from the enumeration because it would break the backward compatibility with older files. However, this enum being equivalent to the NTSC drop, you can get the correct value by using : eNTSCDropFrame.
Hope this answers your question.
Regards
Can't find what you're looking for? Ask the community or share your knowledge.