ホーム » 2012 » 12月 » 06

日別アーカイブ: 2012/12/06

2012年12月
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

カテゴリー

アーカイブ

ブログ統計情報

  • 99,342 アクセス


FBX SDK – 2

2005.08 では,調べたかった事(FBX SDK のコンバート動作)がわからなかったので,今度は 2005.12.1 を選択.
{
  KFbxSdkManager* pSdkManager = NULL ;
  KFbxScene* pScene = NULL ;
  if (!::InitializeSdkObjects(pSdkManager,pScene)) { return -1 ; }
  CString fileFBX = _T(“Test.fbx”) ;
  CString pathEXE = ::GetModuleFileName() ;
  CString pathFBX = ::GetFileDir(pathEXE) + _T(“\\”) + fileFBX ;
  if (::LoadScene(pSdkManager,pScene,pathFBX)) {
    CString pathOTH = pathFBX + _T(“.3ds”) ;
    ::SaveScene(pSdkManager,pScene,pathOTH) ; // ,KFbxExporter::e3D_STUDIO_3DS) ;
    }
  ::DestroySdkObjects(pSdkManager) ;
  }
これをコンソールベースで作成,実行すると,3ds のファイルはできた.
dae はデータによるのかどうかわからないがアプリケーションエラーとなる.
dae ファイルはできているがモデルはなさそう.


ダイアログベースに改良.ファイルをドロップすると以下の変換が通る.
  BOOL CFBXtoDlg::Convert(LPCTSTR filePath)
  {
    KFbxSdkManager* pSdkManager = NULL ;
    KFbxScene* pScene = NULL ;
    if (!::InitializeSdkObjects(pSdkManager,pScene)) { return FALSE ; }
    CString pathSrc = filePath ;
    if (::LoadScene(pSdkManager,pScene,pathSrc)) {
      CString path3DS = pathSrc + _T(“.3ds”) ;
      CString pathOBJ = pathSrc + _T(“.obj”) ;
      CString pathDAE = pathSrc + _T(“.dae”) ;
      ::SaveScene(pSdkManager,pScene,path3DS) ;
      ::SaveScene(pSdkManager,pScene,pathOBJ) ;
      ::SaveScene(pSdkManager,pScene,pathDAE) ;
      }
    ::DestroySdkObjects(pSdkManager) ;
    return TRUE ;
    }
2005.08 の example で出来た fbx などをドロップして変換.
FBXto 2012.12.06
ExportScene03.fbx は,3ds への出力でアプリケーションエラー.


FBXto の VC 6 プロジェクトを VC 8 に.単純に変換して,デバッグ版でビルド,実行すると,
MSVCR80.dll が見つからなかったため
—————————
FBXto.exe – コンポーネントが見つかりません
—————————
MSVCR80.dll が見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションをインストールし直すとこの問題は解決される場合があります。
—————————
OK
—————————
リリース版では,実行可能.


2012/12/10 追記
根本的な解決にはなってないが,2011.3.1 SDK に変更して対応.
FBXto.2011.3.1.zip
FBXto 2011.3.1 SDK

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.