我将我的FBX SDK升级到2016,但是有一个错误。
旧代码是:
KFbxCamera * FBXPopulator::GetActiveCamera( KTime & a_Time ) const
{
KFbxCameraSwitcher* cameraSwitcher = m_Scene->GetGlobalCameraSettings().GetCameraSwitcher();
if ( cameraSwitcher )
{
KFCurve* curve = cameraSwitcher->CameraIndex.GetKFCurve( NULL, m_Scene->GetCurrentTakeName() );
if ( curve )
{
int32_t index = static_cast< int32_t >( curve->Evaluate( a_Time ) - 1 );
return m_DeclaredCameras[ index ]->GetCamera();
}
}
return NULL;
}
当前代码为:
FbxCamera * FBXPopulator::GetActiveCamera(FbxTime & a_Time) const
{
FbxCameraSwitcher* cameraSwitcher = m_Scene->GlobalCameraSettings().GetCameraSwitcher();
if (cameraSwitcher)
{
//Is it right here?
FbxAnimCurve* curve = cameraSwitcher->CameraIndex.GetCurve(m_Scene->GetCurrentAnimationStack()->GetMember());
if (curve)
{
int32_t index = static_cast< int32_t >(curve->Evaluate(a_Time) - 1);
return m_DeclaredCameras[index]->GetCamera();
}
}
return NULL;
}
是不是错了?
我在2009版本中获得了索引== 0而在2016版本中索引== 1。
有什么建议吗? 谢谢!
答案 0 :(得分:0)
答案是,新的SDK无法正确读取某些字段。 我只是用FBX Converter 2009转换fbx文件。 有用。 但我不知道为什么。