- 2022.03.28 Monday
- スポンサーサイト
-
一定期間更新がないため広告を表示しています
- | スポンサードリンク | - | | - | - | pookmark |
- 2017.02.14 Tuesday
- FBX SDK 2014 Update の 日本語訳
-
FBX SDK 2014 Update の 日本語訳
2014.2
URL
新機能と改善
- Windowsストア、Macのクラン、とiOS:新しいFBX SDKライブラリのターゲットを追加しました。
- 以下の改善がアニメーション評価関数で作られています:
- FbxAnimEvaluatorのインスタンスは、現在マネージャではなく、シーン内に格納されています。
- 取るの同時評価のためのアニメーションスタックに評価状態を追加しました。
- 評価者の評価関数へのインデックスを提供するための必要性を削除しました。すべての高速これらの機能のバージョンはもはや必要ではないので、除去されます。
- 新たな付加FbxProperty :: EvaluateValue()プロパティの値を評価する機能を。
- パフォーマンスの向上FbxProperty :: GetCurveNodeを()評価状態内部のマップで結果をキャッシュすることによって。
- ノードおよび特性評価状態のサイズを縮小。
- 引き起こされるメモリの割り当て量減少FbxCriteriaとFbxQueryパフォーマンスを向上させることを。
- 新たな付加FbxTypeComponentCount()タイプのコンポーネント数を取得するために、グローバル関数を。
- 簡単に地図コンテンツを削除するため、これらの新しい機能を追加しました:FbxMapDelete() 、FbxMapFree() 、およびFbxMapDestroy() 。
- 新しい機能を追加しましたFbxTime時刻文字列を取得するために。あなたはそれが返す開始と終了要素を指定することができます。
- 追加しましたInvertXのプロパティとInvertYのコントロールを反転させるためのカメラマニピュレータにプロパティを。
- FbxGeometryBase :: ComputeBBoxは()コンテンツがアンロードされている場合は、もはやバウンディングボックスの値を計算していないか、変更します。
- FbxStringは charポインタの割り当てを再度の代わりに不透明な使用のstd ::文字列の容易なデバッグおよびより良いパフォーマンス/メモリフットプリントの実装を。変更する必要はなくなりました AUTOEXP.DATデバッガで文字列の内容を参照するには、Visual Studioの[ファイルを。
- 文字とその依存関係を複製することを可能にする改良を行いました。参照してください fbxclonemanager.h詳細については。
- FbxGeometryConverter :: SplitMeshesPerMaterial()関数が正しく分割さメッシュ上のスキニング処理します。
- ノードのボックスの計算をバウンディングために、これらの機能を追加しました:FbxScene :: ComputeBoundingBoxMinMaxCenter()とFbxNode :: EvaluateGlobalBoundingBoxMinMaxCenter() 。
- 新たな付加FbxGeometryConverter :: ResetMeshesCenterToWorld()噛み合うシーンの中心をリセットする機能を。
- 新たな付加FbxMesh :: GenerateNormals()法線を生成する機能を。これは、接線を発生させると同じように動作します。この機能は、交換のためのものであるFbxMesh :: ComputeVertexNormals()だけスムーズな法線をサポートする機能を。
- 実装FbxScene ::クローン()適切なシーンを複製します。
- :これらの新機能を追加しましたFbxTime :: SetFramePrecise()とFbxTime :: GetFrameCountPrecise()、double型の値を使用します。
- 追加されたFbxModをするfbxmath.h。
- 追加されたのFileStreamの使用を実証するサンプルコードをFbxStreamのクラスを。
変更および非推奨
- FBXSDK_sprintfは、FBXSDK_snprintfは、FBXSDK_vsprintf、およびFBXSDK_vsnprintfは今、その代わりに、異なるプラットフォーム上の変異型であることの一つのサイズパラメータを取ります。
- アニメーションスタックからサムネイルを削除しました。今、唯一のサムネイルが(で見つかったFBXファイルごとに保存されFbxSceneInfoのクラス)。
- 削除さGetCurveNode()内FbxPropertyアニメーションスタック名を使用していました。
- 変更ConvertPivotの中で機能をFbxNodeアニメーション・スタック・ポインタの代わりにアニメーションスタックを使用します。
- 名前を変更しFbxPropertyFlagsExtのにクラスをFbxPropertyFlags。
- 移動しFbxPropertyValueのそれはまた、評価状態で使用されているので、よりグローバルな場所にクラスを。
修正
- カメラマニピュレータを使用しながら、カメラを上下反転されたときに逆取得の水平軌道の問題を修正しました。
- オイラー角(縮退ケース(ジンバルロック)検出があまりにも敏感だった)へのマトリクス変換の問題を修正しました。
- ContentUnloadは今ジオメトリに適切にレイヤーをアンロードします。
- カメラマニピュレータを用いて、フレームのすべてを実行する際にメッシュコンテンツがアンロードされる場合には、事前に計算されたバウンディングボックス(存在する場合)、そうでない場合はスキップされる使用します。
- カメラマニピュレータを使用して、すべてのフレームを行う場合、カメラは、現在代わりに、その重心のグローバル境界ボックスの中心に正確に中心。
- Mac上で打ち鳴らすコンパイラで、多くのコンパイル警告を修正しました。
- カメラ直交投影と行列生成の問題を修正しました。
- カメラを操作すると、それはもはや関心位置を通過しません。
- 暗号化されたFBXファイルの書き込みに関連するクラッシュを修正しました。
- 開くに関連するクラッシュを修正したOBJファイルを。
- 戻り値に誤字を修正しましたFbxExporter :: GetCurrentWritableVersions() 。
- FbxCameraManipulatorのフレームは、すべての今、正射投影カメラで動作します。
- より正確にエッジ検出を修正しました。以前は、唯一のエッジが一点から保存しました。さて、1点からすべてのエッジが保存され、重複するエッジがすべての状況で検出されました。
- C ++のx11でコンパイルするときに生成されたマクロで様々な警告を修正しました。
- 以下のためのテクスチャを読んで問題を修正しましたOBJファイル。
- 透明な材料の特性を読んで問題を修正しましたMTLのファイル。
- 読書に関連するクラッシュを修正した3DSファイルを。
- いくつかの特定の状況で発生するメモリリークを修正。
- 読み取り時に発生する逆法線を修正したDXFファイルを。
- 図形を含むCOLLADAファイルを書き込むに関連するクラッシュを修正しました。
- 正しくWコンポーネントを設定するには、接線/従法線を生成する関数を修正しました。
- ターゲットとカメラノードアップまたはノードを見ては、現在のカメラマニピュレータを使用して、適切に動き回ります。
既知の問題点
- FbxAMatrixはのみのXYZ回転順序で動作します。
- スキューおよびストレッチ行列がサポートされていません。
- FBX SDKはありませんスレッドセーフ。
- デフォーマは、インスタンス化をサポートしていません。ポイントキャッシュ変形は、このため再利用できません。
- 割り当てられた材料は、ノード上で変更することができますが、メッシュ上の材料層は、インスタンス化することはできません。
- さまざまなファイル形式をエクスポートするとき、時々のシーンは、データの損失が生じる恒久的に変更されます。
2014.1
新機能と改善
- 導入FBXSDK_ENV_WINRTのプリプロセッサが(以前として知られている定義FBXSDK_ENV_WINMETRO)。マイクロソフトWindowsストアアプリケーションをターゲットとする場合これはサポートされていない機能を無効にします。あなたのVisual Studioプロジェクトの設定でYesにWindowsストアアプリのサポートを設定した場合は、この定義が自動的に設定されます。
- アーキテクチャに加えられた変更の数はで定義fbxarch.h ARMプロセッサのサポートを追加するために:
- 追加されたFBXSDK_ARCH_IX86のみインテルのx86ターゲットに定義されています、。
- 追加されたFBXSDK_ARCH_AMD64は、唯一のAMD64ターゲットに定義されています。
- 追加されたFBXSDK_ARCH_ARMは、唯一のARMターゲット上で定義されました。
- 名前を変更しFBXSDK_ARCH_32にFBXSDK_CPU_32は、唯一の32-bitターゲットに対して定義されました。
- 名前を変更しFBXSDK_ARCH_64にFBXSDK_CPU_64は、唯一の64-bitターゲットに対して定義されました。
- また、下記の非推奨の詳細を参照してください。
- FBX SDKのにバージョン情報を追加しました.dll Windowsプラットフォーム上で。
- ブレンドシェイプ(プログレッシブモーフ)との間で、サポートする方法を示すためにViewSceneサンプルを更新しました。
- 新しいマヤ2014キャッシュファイルのサポートを追加しました(* .mcx)。
- 接線/従法線計算機能が適切に顔が反転すると従法線を反転することで、ミラー面を処理するように改善しました。また、それ以外の場合は、反転された場合、-1の接線の第四成分を設定します1。
- FbxReferenceは、今のように定義されている FbxObject *ではなく void *型。この変更は、の性質できます FbxReferenceのタイプが正しくに対応するために FbxCastおよびその他のFBX SDKのAPI操作、ならびにへの割り当てを拘束 FbxObject *のタイプ。
- 改善されたFbxCameraManipulatorを:新しいアクションタイプを追加することにより、eFreePanを。このアクションは、ドリーと、単一の行動にパンニング兼ね備えています。例えば、これは、タッチスクリーンを使用してカメラを操作するために有用であり得ます。
- :新しいオブジェクトフラグを追加しましたFbxObject :: eInitializedを。彼らはコンストラクトのステージで行われた後、このフラグは自動的にすべてのオブジェクトに設定されています。これは、ConstructProperties段階と呼ばれるからのPropertyNotifyを防止するために使用されます。
- FbxCameraManipulatorはもはや内部隠されたクラスを使用し、その影響を受けたカメラを変更するときに再初期化するためのPropertyNotifyイベントを使用していません。
- 新たな付加IOSettingのフラグ(IMP_FBX_EXTRACT_EMBEDDED_DATAを)完全に無効に埋め込まれたファイルを抽出します。このフラグはデフォルトでtrueに設定されています。
- 新たな付加FbxObject :: ResetProperties()関数は、それらのデフォルト値にすべてのプロパティをリセットします。
- pForceSetのためのパラメータFbxProperty :: StaticInit()はもはやオプションではありません。ConstructPropertiesでこの関数を呼び出すとき、の値pForceSetは正しくに渡す必要があります()StaticInit各プロパティは一度だけ初期化されることを確実にするために、すべてのプロパティのために。
- 新たに追加されたFbxGeometryConverter ::三角測量()非推奨の置き換え機能、TriangulateMeshを() 、TriangulateMeshAdvanced()とTriangulateInPlace()関数。新機能は、いずれかのパラメータとしてノード属性やシーンを取ることができ、シーンがきれいに留まることを確認する新しいものに元のノードを置き換えることができます。
- 新たに追加されたFbxGeometryConverter :: SplitMeshesPerMaterial()関数。この関数は、パラメータとしてシーンを取ることができ、シーンがきれいに留まることを確認するオリジナルのメッシュを置き換えることができます。
- 新しいコンストラクタを追加しましたFbxArrayのその特定のサイズのために予約されるべきメモリの量を指定する整数パラメータを受け付けクラス。
- 新しいパラメータを追加しましたFbxMesh :: GetPolygonVertexUV() 、それがマッピングされていないポリゴンの配列を返すことができるようにします。これは何の関連するUVを持たない頂点を決定するために極めて有用です。
- ライブラリファイル名やフォルダ組織への変更。すべてのプラットフォームでは、バージョン番号は、ディスク上のライブラリ名から削除されている、およびライブラリのデバッグとリリースバージョンは現在、同じファイル名を持っていますが、別々のサブフォルダに配置されます。Windowsのライブラリ名も接頭辞されたlibに他のプラットフォーム上のライブラリの名前を一致させることができます。
変更および非推奨
- FBXSDK_ARCH_32とFBXSDK_ARCH_64はに改名されましたFBXSDK_CPU_32とFBXSDK_CPU_64アーキテクチャからそれらを分離するために、それぞれ。
- あなたは、もはやにvoid *型のタイプを設定することはできませんFbxReferenceの堅牢性を向上させるために、プロパティ。
- FbxObject ::のPropertyNotifyは()ではなく、ポインタのプロパティへの参照が必要です。
- 以前FBX SDKが提供する旧三角測量機能が廃止されています。使用してください)(FbxGeometryConverter ::三角法を代わりに。
修正
- ビューの軸が垂直に達したときに厄介なフリップを防止することにより、自由なカメラの操作を改善しました。
- 回帰ConvertPivotAnimationRecursive FBX 2013.3で導入されたが、いくつかのシーンが誤ってリサンプリングやキー減少になった原因。
- あなたが含まれている場合fbxsdk.hのプロジェクトで、定義WIN32_LEAN_AND_MEANはもはや自動的にもう定義されません。
- いくつかのケースでは、FbxPathUtils :: GetRelativePathは()ローカライズされたパスで正常に動作しませんでした。
- 2010/2011互換性のあるファイル(FBX 6.1 / 7.1)にエクスポートすると、クラッシュを引き起こす可能性があります。
- クォータニオンFカーブの評価でパフォーマンスの問題を修正しました。
- すべてのプロパティFbxReferenceのタイプは現在、ソース接続を使用します。それらのほんの一握りは、様々で、遵守されなかったFbxConstraintクラス。FBX 2014(7.4)以下のファイルでは、これは何も変わりませんが、メモリにこれらのオブジェクトは現在、常にプロパティのソースに接続されています。
- 最初以外取る他のインポート時にブレンドシェイプアニメーションが欠落していました。
- FbxObject ::のPropertyNotify()コールバックはConstructPropertiesオブジェクトの作成段階でもはや呼び出されません。
- FbxPropertyT < FbxReference >は正しく受信のPropertyNotifyイベントを。
- FbxTime :: SetTimeStringは()今の要素間を通過する空間をサポートしています。
- で問題を修正しましたFbxCameraそのノードのローカル翻訳とPositionプロパティの同期。
- FbxMarkerのクラスは、もはや財産のポインタを返しません。
- すべてのためのFbxMesh :: GenerateTangentsData()関数:接線のデータがすでにメッシュに存在する、とするとpOverwriteのパラメータがfalseに設定され、関数が返すようになりまし真のそれはエラーとはみなされないように。
- ドキュメントへの通知を追加しましたFbxStreamそれはFBX以外の形式をサポートしていません。
- FbxCacheの評価は、いくつかの状況ではLinuxおよびMacプラットフォームでのクラッシュを引き起こす可能性があります。
- FbxPathUtils ::()を作成しますが、いくつかの状況ではLinuxおよびMacプラットフォームでのクラッシュを引き起こす可能性があります。
- ASFのモーションファイル用の回転順序の問題と候補値の初期化を修正しました。
- 堅牢性の向上FbxGeoemetryConverter :: SplitMeshPerMaterialを() 。さて、無効な材料を指す材料索引を持つメッシュは、任意の材料を割り当てられません、そして、彼らは一緒に再編成されます。
- 古いFBX 6.xのファイル形式にブレンドシェイプをエクスポートするときにクラッシュする問題を修正しました。
- いくつかの頂点がUVマッピングされなかったとき、接線/従法線発生に問題を修正しました。
2014.0
新機能
- Visual Studioの2012年には、サポートされるようになりました。
- FbxCamera :: EvaluateUpDirectionは()をサポートするようになりましたロールプロパティを。
- 法線、従法線、および接線の第四のベクトル要素が正しくFBX 2014ファイル形式でFBXファイルにエクスポートされます。
- 新しいステータスレポートクラス(FbxStatusは)古い置き換えるために導入されたFbxErrorのクラスを。
- マーカーのデフォルトのIKプル値のための新機能を追加しました。デフォルトIKプル値は、現在のマーカーに格納されています。
- TimeMarkerの機能はFBX 2014ファイル形式に再導入されます。それらにアクセスするためのAPIがである FbxGlobalSettingsのクラス。
- FBXのPython SDKにはPython 3.2にはPython 3.1を更新しました。
- MotionFilesリーダ/ライタは、現在、公共FBX SDKに登録されています。(バイオビジョン(BVH)、MotionAnalysis(HTR / TRC)、アクレイム(ASF / AMC)、中古Vicon(C3D)、補償光学(AOA)、およびSuperfluo:これはFBX SDKは今インポートし、次のモーションファイル形式をエクスポートすることができることを意味しますMCD)。
- MacとLinuxのFBX SDKライブラリは、すぐに隠れに設定されたデフォルトの可視性を指定してコンパイルされています。でマークされたシンボルのみFBXSDK_DLLは、Windowsのバージョンにそれが等しくなりこれ、エクスポートされます。
- FbxPropertyのフラグが洗浄されます。明確にするために、ePublishedフラグがに変更されeAnimated、およびEUSERのフラグがに変更されeUserDefined。eStaticのフラグは、デフォルトですべての静的プロパティに対してオンになっています。また、導入eImportedのインポート時に作成されたプロパティのフラグを。
- 追加された新しい環境変数:FBXSDK_ENV_WINMETRO Windowsのメトロ・サポート用とFBXSDK_ARCH_ARM ARMプロセッサをサポートするため。
- FbxFolderは::)(作成、)(削除:: FbxFolderを、そしてFbxFolder ::存在()関数は、に移動されFbxPathUtilsのクラス、そして今Windowsストアアプリケーションのためのマイクロソフト認定資格検証キットを渡す仕事します。他の機能FbxFolderのクラスは、一貫性を保つために名前が変更されます。参照してくださいfbxfolder.h。
- FbxPathUtilsが存在::()関数は相対パスで動作します。
- FbxPathUtils ::()を作成関数は、引数として複数のパスを取ることができ、可能な場合、彼らは同様に、作成され ます。mkdirのUnixインチ
- 改善されたFbxMesh :: GetPolygonVertexCount()単純に配列のサイズを返す関数を。
- 更新FbxProgressの単純であることと、シングルスレッドのコールバックに渡される追加の引数を許可するようにクラスを。
非推奨になった機能
- fbxsdk_compatibility.hのファイルはFBX SDKの配布から削除されますので、あなたは、最新のAPIを使用する必要があります。定義FBXSDK_NEW_APIすることはもはや必要ではなく、プロジェクトから削除することができます。
- Visual Studio 2005のためのサポートが中止されます。
- Mac OS XのSDK 10.5のサポートが中止されます。最小要件は、現在のMac OS X SDK 10.6です。
- FbxString ::空の()関数は、に変更されFbxString ::クリア()との混同を避けるためにFbxString ::のisEmpty()関数。
- FbxErrorは、すべてのクラスから削除されます。その代わりに、エラー文字列を返すために必要な機能は、タイプのオプションパラメータを使用することができますFbxStatusに類似のMStatusマヤAPIのを。
- FbxFolder ::作成()関数が除去されます。あなたが使用することができますFbxPathUtilsを::()を作成代わりに関数を。
- FbxFolder ::削除()関数が除去されます。あなたが使用することができますFbxPathUtilsを::()削除の代わりに関数を。
- FbxFolder ::存在()関数が除去されます。あなたが使用することができます()存在:: FbxPathUtils代わりに機能します。
- FbxFolder ::削除()関数が削除されます。あなたが使用することができますFbxPathUtilsを::削除()関数を代わりに、常に再帰的です。
修正された問題
- 問題を修正FbxCamera :: EvaluateUpDirection()が誤って使用してTargetUpのオブジェクトを。
- 特定の3DSファイルをインポートするときに発生するバッファオーバーランのクラッシュ問題を修正しました。
- 破壊しようとしたときに発生するクラッシュ問題を修正しましたFbxManagerを、アプリケーションの終了時にします。
- 誤って呼んでいたいくつかのサンプルを修正しFbxStringを::空の()の代わりにFbxStringは::のisEmpty() 。
- 固定バッファオーバーフローFbxStream :: ReadString() 。
- もうOBJファイル未溶接ませんUVをインポートします。
- ASCIIバージョンで修正されたカーブキーコメント。コードは間を区別しなかった GenericTimeIndependentのみとGenericClampProgressive。
- 関連するドキュメントの改善TranslationActive、RotationActive、およびScalingActiveプロパティを。
- スキン以外のデフォーマの種類を含むシーンは、Colladaのにエクスポートされたときに発生するクラッシュが修正されました。
- デフォルト値のFbxMarker :: DrawLinkは()今trueに設定されています。
- 問題を修正FbxCamera :: EvaluateLookAtPosition()期待値を返さないし。
- 固定の問題の影響の増加、ファイルサイズの結果のCOLLADAファイルを書き込むときにフィールドには、各ポリゴンのために書かれています。
- 以下のような様々な機能、FbxMin const参照型の値を返した値の代わりにコピーを返すように固定されています。
- const参照組み込み型のために求めていた様々な関数のパラメータは、(この場合はconst参照よりも高速である)組み込み型のコピーを依頼するように変更されています。
- 呼び出したときに発生するクラッシュを修正しFbxSceneを:: ForceKillを()サムネイルを含んでインポートしたシーンに。
- メイドfbxiosettingspath.h C ++ X11の標準と互換性のあるヘッダファイルを。
- 大規模なシーンのための接続管理の一部の最適化。
- 変換のサンプルコードでの誤植を修正しました。
- 明瞭にするために、様々なdoxygenのコメントを更新しました。
既知の問題点
- FbxAMatrixはのみのXYZ回転順序で動作します。
- スキューおよびストレッチ行列がサポートされていません。
- FBX SDKはありませんスレッドセーフ。
- デフォーマは、インスタンス化をサポートしていないので、ポイントキャッシュ変形は再使用できません。
- 割り当てられた材料は、ノード上で変更することができますが、メッシュ上の材料層は、インスタンス化することはできません。
- 時にはシーンはさまざまなファイル形式をエクスポートする際に、データの損失が生じる恒久的に変更されます。
- | whaison | FBX_SDK | 10:31 | comments(0) | - | pookmark |
- 2017.02.13 Monday
- FbxProperty, C++: Member List
-
FbxProperty, C++: Member List
C++: Member Listhttp://docs.autodesk.com/FBX/2014/ENU/FBX-SDK-Documentation/cpp_ref/class_fbx_property-members.html
Member List
This is the complete list of members for FbxProperty, including all inherited members.
AddEnumValue(const char *pStringValue)
FbxPropertyBeginCreateOrFindProperty()
FbxProperty
[inline]
ClearConnectCache()
FbxPropertyCompareValue(const FbxProperty &pProperty) const
FbxPropertyConnectDstObject(FbxObject *pObject, FbxConnection::EType pType=FbxConnection::eNone)
FbxPropertyConnectDstProperty(const FbxProperty &pProperty)
FbxPropertyConnectSrcObject(FbxObject *pObject, FbxConnection::EType pType=FbxConnection::eNone)
FbxPropertyConnectSrcProperty(const FbxProperty &pProperty)
FbxPropertyCopyValue(const FbxProperty &pProperty)
FbxPropertyCreate(const FbxProperty &pCompoundProperty, const FbxDataType &pDataType, const char *pName, const char *pLabel="", bool pCheckForDup=true, bool *pWasFound=NULL)
FbxProperty
[static]
Create(FbxObject *pObject, const FbxDataType &pDataType, const char *pName, const char *pLabel="", bool pCheckForDup=true, bool *pWasFound=NULL)
FbxProperty
[static]
CreateCurveNode(FbxAnimLayer *pAnimLayer)
FbxPropertyCreateFrom(const FbxProperty &pCompoundProperty, FbxProperty &pFromProperty, bool pCheckForDup=true)
FbxProperty
[static]
CreateFrom(FbxObject *pObject, FbxProperty &pFromProperty, bool pCheckForDup=true)
FbxProperty
[static]
Destroy()
FbxPropertyDestroyChildren()
FbxPropertyDestroyRecursively()
FbxPropertyDisconnectAllDstObject()
FbxPropertyDisconnectAllDstObject(const FbxCriteria &pCriteria)
FbxPropertyDisconnectAllDstObject(const FbxClassId &pClassId)
FbxPropertyDisconnectAllDstObject(const T *pFBX_TYPE)
FbxProperty
[inline]
DisconnectAllDstObject()
FbxProperty
[inline]
DisconnectAllDstObject(const T *pFBX_TYPE, const FbxCriteria &pCriteria)
FbxProperty
[inline]
DisconnectAllDstObject(const FbxCriteria &pCriteria)
FbxProperty
[inline]
DisconnectAllSrcObject()
FbxPropertyDisconnectAllSrcObject(const FbxCriteria &pCriteria)
FbxPropertyDisconnectAllSrcObject(const FbxClassId &pClassId)
FbxPropertyDisconnectAllSrcObject(const T *pFBX_TYPE)
FbxProperty
[inline]
DisconnectAllSrcObject()
FbxProperty
[inline]
DisconnectAllSrcObject(const T *pFBX_TYPE, const FbxCriteria &pCriteria)
FbxProperty
[inline]
DisconnectAllSrcObject(const FbxCriteria &pCriteria)
FbxProperty
[inline]
DisconnectDstObject(FbxObject *pObject)
FbxPropertyDisconnectDstProperty(const FbxProperty &pProperty)
FbxPropertyDisconnectSrcObject(FbxObject *pObject)
FbxPropertyDisconnectSrcProperty(const FbxProperty &pProperty)
FbxPropertyEndCreateOrFindProperty()
FbxProperty
[inline]
EvaluateValue(const FbxTime &pTime=FBXSDK_TIME_INFINITE, bool pForceEval=false)
FbxPropertyEvaluateValue(const FbxTime &pTime=FBXSDK_TIME_INFINITE, bool pForceEval=false)
FbxPropertyFbxProperty()
FbxPropertyFbxProperty(const FbxProperty &pProperty)
FbxPropertyFbxProperty(const FbxPropertyHandle &pPropertyHandle)
FbxPropertyFind(const char *pName, bool pCaseSensitive=true) const
FbxProperty
[inline]
Find(const char *pName, const FbxDataType &pDataType, bool pCaseSensitive=true) const
FbxProperty
[inline]
FindDstObject(const char *pName, const int pStartIndex=0) const
FbxPropertyFindDstObject(const FbxCriteria &pCriteria, const char *pName, const int pStartIndex=0) const
FbxPropertyFindDstObject(const FbxClassId &pClassId, const char *pName, const int pStartIndex=0) const
FbxPropertyFindDstObject(const T *pFBX_TYPE, const char *pName, int pStartIndex=0) const
FbxProperty
[inline]
FindDstObject(const char *pName, const int pStartIndex=0) const
FbxProperty
[inline]
FindDstObject(const T *pFBX_TYPE, const FbxCriteria &pCriteria, const char *pName, int pStartIndex=0) const
FbxProperty
[inline]
FindDstObject(const FbxCriteria &pCriteria, const char *pName, const int pStartIndex=0) const
FbxProperty
[inline]
FindDstProperty(const char *pName, const int pStartIndex=0) const
FbxPropertyFindHierarchical(const char *pName, bool pCaseSensitive=true) const
FbxProperty
[inline]
FindHierarchical(const char *pName, const FbxDataType &pDataType, bool pCaseSensitive=true) const
FbxProperty
[inline]
FindSrcObject(const char *pName, const int pStartIndex=0) const
FbxPropertyFindSrcObject(const FbxCriteria &pCriteria, const char *pName, const int pStartIndex=0) const
FbxPropertyFindSrcObject(const FbxClassId &pClassId, const char *pName, const int pStartIndex=0) const
FbxPropertyFindSrcObject(const T *pFBX_TYPE, const char *pName, int pStartIndex=0) const
FbxProperty
[inline]
FindSrcObject(const char *pName, const int pStartIndex=0) const
FbxProperty
[inline]
FindSrcObject(const T *pFBX_TYPE, const FbxCriteria &pCriteria, const char *pName, int pStartIndex=0) const
FbxProperty
[inline]
FindSrcObject(const FbxCriteria &pCriteria, const char *pName, const int pStartIndex=0) const
FbxProperty
[inline]
FindSrcProperty(const char *pName, const int pStartIndex=0) const
FbxPropertyGet() const
FbxProperty
[inline]
GetArrayItem(int pIndex) const
FbxPropertyGetArraySize() const
FbxPropertyGetChild() const
FbxProperty
[inline]
GetCurve(FbxAnimLayer *pAnimLayer, bool pCreate=false)
FbxProperty
[inline]
GetCurve(FbxAnimLayer *pAnimLayer, const char *pChannel, bool pCreate=false)
FbxProperty
[inline]
GetCurve(FbxAnimLayer *pAnimLayer, const char *pName, const char *pChannel, bool pCreate)
FbxPropertyGetCurveNode(bool pCreate=false)
FbxPropertyGetCurveNode(FbxAnimStack *pAnimStack, bool pCreate=false)
FbxPropertyGetCurveNode(FbxAnimLayer *pAnimLayer, bool pCreate=false)
FbxPropertyGetDstObject(const int pIndex=0) const
FbxPropertyGetDstObject(const FbxCriteria &pCriteria, const int pIndex=0) const
FbxPropertyGetDstObject(const FbxClassId &pClassId, const int pIndex=0) const
FbxPropertyGetDstObject(const T *pFBX_TYPE, int pIndex=0) const
FbxProperty
[inline]
GetDstObject(const int pIndex=0) const
FbxProperty
[inline]
GetDstObject(const T *pFBX_TYPE, const FbxCriteria &pCriteria, int pIndex=0) const
FbxProperty
[inline]
GetDstObject(const FbxCriteria &pCriteria, const int pIndex=0) const
FbxProperty
[inline]
GetDstObjectCount() const
FbxPropertyGetDstObjectCount(const FbxCriteria &pCriteria) const
FbxPropertyGetDstObjectCount(const FbxClassId &pClassId) const
FbxPropertyGetDstObjectCount(const T *pFBX_TYPE) const
FbxProperty
[inline]
GetDstObjectCount() const
FbxProperty
[inline]
GetDstObjectCount(const T *pFBX_TYPE, const FbxCriteria &pCriteria) const
FbxProperty
[inline]
GetDstObjectCount(const FbxCriteria &pCriteria) const
FbxProperty
[inline]
GetDstProperty(const int pIndex=0) const
FbxPropertyGetDstPropertyCount() const
FbxPropertyGetEnumCount() const
FbxPropertyGetEnumValue(int pIndex) const
FbxPropertyGetFbxObject() const
FbxPropertyGetFirstDescendent() const
FbxProperty
[inline]
GetFlag(FbxPropertyAttr::EFlags pFlag) const
FbxPropertyGetFlagInheritType(FbxPropertyAttr::EFlags pFlag) const
FbxPropertyGetFlags() const
FbxPropertyGetHierarchicalName() const
FbxPropertyGetLabel(bool pReturnNameIfEmpty=true) const
FbxPropertyGetMaxLimit() const
FbxPropertyGetMinLimit() const
FbxPropertyGetName() const
FbxPropertyGetNameAsCStr() const
FbxPropertyGetNextDescendent(const FbxProperty &pProperty) const
FbxProperty
[inline]
GetParent() const
FbxProperty
[inline]
GetPropertyDataType() const
FbxPropertyGetSibling() const
FbxProperty
[inline]
GetSrcObject(const int pIndex=0) const
FbxPropertyGetSrcObject(const FbxCriteria &pCriteria, const int pIndex=0) const
FbxPropertyGetSrcObject(const FbxClassId &pClassId, const int pIndex=0) const
FbxPropertyGetSrcObject(const T *pFBX_TYPE, int pIndex=0) const
FbxProperty
[inline]
GetSrcObject(const int pIndex=0) const
FbxProperty
[inline]
GetSrcObject(const T *pFBX_TYPE, const FbxCriteria &pCriteria, int pIndex=0) const
FbxProperty
[inline]
GetSrcObject(const FbxCriteria &pCriteria, const int pIndex=0) const
FbxProperty
[inline]
GetSrcObjectCount() const
FbxPropertyGetSrcObjectCount(const FbxCriteria &pCriteria) const
FbxPropertyGetSrcObjectCount(const FbxClassId &pClassId) const
FbxPropertyGetSrcObjectCount(const T *pFBX_TYPE) const
FbxProperty
[inline]
GetSrcObjectCount() const
FbxProperty
[inline]
GetSrcObjectCount(const T *pFBX_TYPE, const FbxCriteria &pCriteria) const
FbxProperty
[inline]
GetSrcObjectCount(const FbxCriteria &pCriteria) const
FbxProperty
[inline]
GetSrcProperty(const int pIndex=0) const
FbxPropertyGetSrcPropertyCount() const
FbxPropertyGetUserDataPtr()
FbxPropertyGetUserTag()
FbxPropertyGetValueInheritType() const
FbxPropertyHasDefaultValue(FbxProperty &pProperty)
FbxProperty
[static]
HasMaxLimit() const
FbxPropertyHasMinLimit() const
FbxPropertyInsertEnumValue(int pIndex, const char *pStringValue)
FbxPropertyIsChildOf(const FbxProperty &pParent) const
FbxProperty
[inline]
IsConnectedDstObject(const FbxObject *pObject) const
FbxPropertyIsConnectedDstProperty(const FbxProperty &pProperty)
FbxPropertyIsConnectedSrcObject(const FbxObject *pObject) const
FbxPropertyIsConnectedSrcProperty(const FbxProperty &pProperty)
FbxPropertyIsDescendentOf(const FbxProperty &pAncestor) const
FbxProperty
[inline]
IsRoot() const
FbxProperty
[inline]
IsValid() const
FbxPropertyModified() const
FbxPropertyModifiedFlag(FbxPropertyAttr::EFlags pFlag) const
FbxPropertyModifyFlag(FbxPropertyAttr::EFlags pFlag, bool pValue)
FbxPropertyoperator!=(const FbxProperty &pProperty) const
FbxPropertyoperator!=(int pValue) const
FbxProperty
[inline]
operator=(const FbxProperty &pProperty)
FbxPropertyoperator==(const FbxProperty &pProperty) const
FbxPropertyoperator==(int pValue) const
FbxProperty
[inline]
operator[](int pIndex) const
FbxProperty
[inline]
RemoveEnumValue(int pIndex)
FbxPropertySet(const T &pValue)
FbxProperty
[inline]
SetArraySize(int pSize, bool pVariableArray)
FbxPropertySetEnumValue(int pIndex, const char *pStringValue)
FbxPropertySetFlagInheritType(FbxPropertyAttr::EFlags pFlag, FbxPropertyAttr::EInheritType pType)
FbxPropertySetLabel(const FbxString &pLabel)
FbxPropertySetLimits(double pMin, double pMax)
FbxPropertySetMaxLimit(double pMax)
FbxPropertySetMinLimit(double pMin)
FbxPropertySetParent(const FbxProperty &pOther)
FbxPropertySetUserDataPtr(void *pUserData)
FbxPropertySetUserTag(int pTag)
FbxPropertySetValueInheritType(FbxPropertyAttr::EInheritType pType)
FbxPropertysHierarchicalSeparator
FbxProperty
[static]
~FbxProperty()
FbxPropertyPlease send us your comment about this page
- | whaison | FBX_SDK | 20:55 | comments(0) | - | pookmark |
- 2017.02.07 Tuesday
- Fbx In Outプラグインレジストリメンバー
-
Fbx In Outプラグインレジストリメンバー
00100 リーダーを作成する (Fbx Manager&pManager、Fbx Importer&pImporter、int pPluginID)
00200 ライターを作成する (Fbxマネージャ&pManager、Fbxエクスポータ&pExporter、int pPluginID)00300 リーダーファイル形式を検出する (const char * pFileName、int&pFile形式)
00400 ライターファイル形式を検出する (const char * pFileName、intおよびpFileFormat)
00500 登録された読者のための設定を入力 (FbxIOSettings&pIOS)
00600 ライター登録のための入力設定を入力 (FbxIOSettings&pIOS)
00700 説明でのリーダーIDの検索 (const char * pDesc)
00800 エクステンション別にリーダーIDを探す (const char * pExt) 00900 説明でのライターIDの検索 (const char * pDesc) 01000 拡張機能によるライターIDの検索 (const char * pExt)
01100 ネイティブリーダー形式()を取得する 01200 ネイティブライターフォーマット()を取得する
01300 リーダー形式のカウントを取得する()
01400 リーダー形式の説明を取得する (int pFileFormat)
01500 GetReaderフォーマット拡張 (int pFileFormat)
01600 書き込み可能なバージョンを取得する (int pFileFormat)
01700 Writer Format Count()を取得する
01800 ライターフォーマットの説明を取得する (int pFileFormat)
01900 ライターフォーマット拡張を得る (int pFileFormat)
02000 Reader Is FBX(int pFileFormat)
02100 リーダーは本物です (int pFileFormat)
02200 リーダーを登録する (const char * pPluginPath、int&pFirstPluginID、int&pRegisteredCount、bool pOverride = false)
02300 リーダーを登録する ( FbxReader :: CreateFuncType pCreateF、FbxReader :: GetInfoFuncType pInfoF、 int&pFirstPluginID、 int&pRegisteredCount、FbxReader :: IOSettingsFillerFuncType pIOSettingsFillerF = NULL、 bool pOverride = false )
02400 レジスタライター ( const char * pPluginPath、 int&pFirstPluginID、 int&pRegisteredCount、 bool pOverride = false )
02500 レジスタライター ( FbxWriter :: CreateFuncType pCreateF、 FbxWriter :: GetInfoFuncType pInfoF、 int&pFirstPluginID、 int&pRegisteredCount、FbxWriter :: IOSettingsFillerFuncType pIOSettingsFillerF = NULL、 bool pOverride = false )02600 作家はFBXです (int pFileFormat)
02700 作家は本物です (int pFileFormat)
02700〜FbxIOPluginRegistry() FbxIOPluginRegistry
- | whaison | FBX_SDK | 18:26 | comments(0) | - | pookmark |
- 2017.02.07 Tuesday
- Fbx In Out Plugin Registry members
-
Fbx In Out Plugin Registry members
00100
Create Reader
(Fbx Manager &pManager, Fbx Importer &pImporter, int pPluginID)00200
Create Writer
(Fbx Manager &pManager, Fbx Exporter &pExporter, int pPluginID)00300
Detect Reader File Format
(const char *pFileName, int &pFile Format)00400
Detect Writer File Format
(const char *pFileName, int &pFileFormat)00500
Fill In Out Settings For Readers Registered
(FbxIOSettings &pIOS)
00600
Fill In Out Settings For WritersRegistered(FbxIOSettings &pIOS)
00700
Find Reader ID By Description
(const char *pDesc)
00800
Find Reader ID By Extension
(const char *pExt)
00900
Find Writer ID By Description
(const char *pDesc)
01000
Find Writer ID By Extension
(const char *pExt)
01100
Get Native Reader Format()
01200
Get Native Writer Format()
01300
Get Reader Format Count()
01400
Get Reader Format Description
(int pFileFormat)
01500
GetReader Format Extension
(int pFileFormat)
01600
Get Writable Versions
(int pFileFormat)
01700
Get Writer Format Count()
01800
Get Writer Format Description
(int pFileFormat)
01900
Get Writer Format Extension
(int pFileFormat)
02000
Reader Is FBX(int pFileFormat)
02100
Reader Is Genuine
(int pFileFormat)02200
Register Reader
(const char *pPluginPath, int &pFirstPluginID, int &pRegisteredCount, bool pOverride=false)02300
Register Reader
(
FbxReader::CreateFuncType pCreateF, FbxReader::GetInfoFuncType pInfoF,
int &pFirstPluginID,
int &pRegisteredCount, FbxReader::IOSettingsFillerFuncType pIOSettingsFillerF=NULL,
bool pOverride=false
)
02400
Register Writer
(
const char *pPluginPath,
int &pFirstPluginID,
int &pRegisteredCount,
bool pOverride=false
)
02500
Register Writer
(
FbxWriter::CreateFuncType pCreateF,
FbxWriter::GetInfoFuncType pInfoF,
int &pFirstPluginID,
int &pRegisteredCount, FbxWriter::IOSettingsFillerFuncType pIOSettingsFillerF=NULL,
bool pOverride=false
)02600
Writer Is FBX
(int pFileFormat)
02700
Writer Is Genuine
(int pFileFormat)
02700
~FbxIOPluginRegistry()
FbxIOPluginRegistry - | whaison | FBX_SDK | 18:20 | comments(0) | - | pookmark |
- 2017.02.07 Tuesday
- FbxIOPluginRegistry メンバ一覧
-
FBXpythonSDKdoxygen01100:
メンバ一覧
https://whaison.github.io/FBXpythonSDK201701/FBXpythonSDKdoxygen01200/html/class_fbx_i_o_plugin_registry-members.html
FBXpythonSDKdoxygen01100: メンバ一覧
FbxIOPluginRegistry メンバ一覧
FbxIOPluginRegistry
継承メンバを含むFbxIOPluginRegistry の
全メンバ一覧です。
00100
CreateReader
(FbxManager &pManager, FbxImporter &pImporter, int pPluginID)00200
CreateWriter
(FbxManager &pManager, FbxExporter &pExporter, int pPluginID)00300
DetectReaderFileFormat
(const char *pFileName, int &pFileFormat)00400
DetectWriterFileFormat
(const char *pFileName, int &pFileFormat)00500
FillIOSettingsForReadersRegistered
(FbxIOSettings &pIOS)
00600
FillIOSettingsForWritersRegistered
(FbxIOSettings &pIOS)
00700
FindReaderIDByDescription
(const char *pDesc)
00800
FindReaderIDByExtension
(const char *pExt)
00900
FindWriterIDByDescription
(const char *pDesc)
01000
FindWriterIDByExtension
(const char *pExt)
01100
GetNativeReaderFormat()
FbxIOPluginRegistry
01200
GetNativeWriterFormat()
FbxIOPluginRegistry
01300
GetReaderFormatCount()
01400
GetReaderFormatDescription
(int pFileFormat)
01500
GetReaderFormatExtension
(int pFileFormat)
01600
GetWritableVersions
(int pFileFormat)
01700
GetWriterFormatCount()
FbxIOPluginRegistry
01800
GetWriterFormatDescription
(int pFileFormat)
01900
GetWriterFormatExtension
(int pFileFormat)
02000
ReaderIsFBX(int pFileFormat)
02100
ReaderIsGenuine(int pFileFormat)02200
RegisterReader
(const char *pPluginPath, int &pFirstPluginID, int &pRegisteredCount, bool pOverride=false)02300
RegisterReader
(
FbxReader::CreateFuncType pCreateF, FbxReader::GetInfoFuncType pInfoF,
int &pFirstPluginID,
int &pRegisteredCount, FbxReader::IOSettingsFillerFuncType pIOSettingsFillerF=NULL,
bool pOverride=false
)
02400
RegisterWriter
(
const char *pPluginPath,
int &pFirstPluginID,
int &pRegisteredCount,
bool pOverride=false
)
02500
RegisterWriter
(
FbxWriter::CreateFuncType pCreateF,
FbxWriter::GetInfoFuncType pInfoF,
int &pFirstPluginID,
int &pRegisteredCount, FbxWriter::IOSettingsFillerFuncType pIOSettingsFillerF=NULL,
bool pOverride=false
)02600
WriterIsFBX
(int pFileFormat)
02700
WriterIsGenuine(int pFileFormat)
02700 コンストラクタ と デコンストラクタ
~FbxIOPluginRegistry()
FbxIOPluginRegistry
おわり - | whaison | FBX_SDK | 18:07 | comments(0) | - | pookmark |
- 2017.02.01 Wednesday
- FBXSDK 00100 Extracting the Animation Data from a FBX File の日本語翻訳 アニメーションデータの抽出
-
深夜から+朝5時からしたためたもので、寝ぼけているのと
翻訳には データ内部の推測が含まれる。
FBXSDK Extracting the Animation Data from a FBX File の日本語翻訳 アニメーションデータの抽出
FBXファイルからのアニメーションデータの抽出
FBXファイル全体をロードせずに、
シーン(FBXファイル)からアニメーションデータを抽出して照会することができます。◾️シーン(FbxScene)
Scene
は
最上位でメッシュやアニム全データを含みます
1つまたは複数のアニメーションスタック含みます
◾️(FbxAnimStack)
AnimStack
は
アニメーションのスタックは、
アニメーションデータのための
最上位レベルのコンテナで
あり
1つまたは複数のアニメーションレイヤ
Take1,Take2
を含みます◾️(FbxAnimLayer)
AnimLayer
は
アニメーションの
レイヤで、
一つ以上のアニメーション曲線ノードを含みます
◾️(FbxAnimCurveNode)
AnimCurveNode
は
アニメーションの
カーブたちのノード
で、
アニメーションカーブとの接続点である
◾️(FbxAnimCurve)
AnimCurve
の
メンバーには◾️(FbxProperty )
Property
そのFBXのプロパティとして◾️FbxObject
Object
FBXオブジェクトの値をもちますシーンからアニメーションデータを抽出するには、次の手順を実行します。
FbxScene(pScene)のインスタンスへのポインタを使用して、
最上位レベルのコンテナ
take1とかtake2が入ってる
のアニメーションスタックを抽出します。
int型numStacks =
pScene - >
GetSrcObjectCount(
FBX_TYPE,
(FbxAnimStack)
);
I ++)
n番目のアニメーションスタック
を取得します。
Take1をとりますFbxAnimStack * pAnimStack =
FbxCast < FbxAnimStack >
(pScene - >
GetSrcObject (FBX_TYPE(FbxAnimStack)
,n番目
)
アニメーションスタック内の
アニメーションレイヤの数を取得します。take1 のjointのxのアニメーション
take1 のjointのyのアニメーション
take1 のjointのzのアニメーション
take1 のjoint2のxのアニメーション
take1 のjoint2のyのアニメーション
take1 のjoint2のzのアニメーションint型 numAnimLayers =
pAnimStack - >
GetMemberCount (FBX_TYPE
(FbxAnimLayer)
);
アニメーションスタックから
n番目のアニメーションレイヤを取得します。
take1 のjointのxのアニメーションFbxAnimLayer * lAnimLayer =
lAnimStack - >
GetMember
(FBX_TYPE
(FbxAnimLayer)
、n番目)
アニメーションレイヤを取得した後、
アニメーションノードの
メンバーの
プロパティから
と
ノード属性の
アニメーションカーブに
アクセスできます。Take1 のjointのxのアニメーションレイア
の カーブ
アニメーションカーブを取得します。
ノード
(Node)
と
アニメーションレイヤー
(AnimLayer)
を
指定すると、
次の例に示すように、ローカル変換などのノードプロパティのアニメーションカーブを取得できます。
FbxAnimCurve * lAnimCurve =
lNode- >
LclTranslation ,
GetCurve
(
lAnimLayer 、
FBXSDK_CURVENODE_COMPONENT_X
)
ノード
(lNode)と
レイヤー
(lAnimLayer)
を指定すると、
次の例に示すように、
赤色コンポーネントなどの
ノード属性プロパティの
NodeAttribute
から、アニメーションカーブ
AnimCurve
を取得できます。
FbxNodeAttribute * lNodeAttribute =
lNode- >
GetNodeAttribute ();FbxAnimCurve * lAnimCurve =
lNodeAttribute - >
Color.
GetCurve
< FbxAnimCurve >
(
pAnimLayer 、FBXSDK_CURVENODE_COLOR_RED
)
また、取得した
アニメーションの
カーブノード
AnimCurveNode
を使用して、
プロパティの
アニメーションデータに
アクセスすることもできます。次の手順では、
最初の(0番目の)チャンネルの
特定のプロパティの
アニメーションカーブのデータに
直接アクセスする方法を示します。プロパティが有効かどうかを確認します。
if(lProperty .IsValid()==True )取得したアニメーションレイヤーを使用して
カーブノードを取得します。FbxAnimCurveNode * lCurveNode =
lProperty .GetCurveNode (pAnimLayer ) プロパティが
ア二メートされていない場合、
カーブノードは
NULL
です。If(lCurveNode != NULL)...
取得したカーブノードたちを
個数ぶんループして取得します。Int lCurveNodeCount=
CurveNode - >
GetCurveCount (0U )For(int C = 0 ;C < lCurveNodeCount;C ++ )
{
FbxAnimCurve * lAnimCurve =
lCurveNode - >GetCurve (0U 、C );では参照してください
FbxAnimCurveNodeのアニメーションカーブノードと
チャネルの詳細については、
クラス参照を。
FBX SDKを使用した
アニメーションデータをインポートする詳細な例については、
例を参照してください
ImportScene / DisplayAnimation.cxx
を。
関連リンク
* シーンの読み込み
* アニメーションクラスとその相互関係
* アニメーション用の新しいデータ構造への移行----------------------------ENG---------------------------------------
Extracting the Animation Data from a FBX File
You can extract and query the animation data from a scene (FBX file) without loading the entire FBX file.
A scene (FbxScene) can contain one or more animation stacks (FbxAnimStack). The animation stack is the highest-level container for the animation data and contains one or more animation layers (FbxAnimLayer). An animation layer contains one or more animation curve nodes (FbxAnimCurveNode). An animation curve node is the connection point between the animation curves (FbxAnimCurve) and the FBX properties (FbxProperty) of a FBX object (FbxObject).
Perform the following steps to extract the animation data from a scene:
- Extract the animation stacks using a pointer to an instance of the FbxScene (pScene).
int numStacks = pScene->GetSrcObjectCount(FBX_TYPE(FbxAnimStack)); i++)
- Retrieve the nth animation stack.
FbxAnimStack* pAnimStack = FbxCast<FbxAnimStack>(pScene->GetSrcObject(FBX_TYPE(FbxAnimStack), n)
- Retrieve the number of animation layers in an animation stack.
int numAnimLayers = pAnimStack->GetMemberCount(FBX_TYPE(FbxAnimLayer));
- Retrieve the nth animation layer from the animation stack.
FbxAnimLayer* lAnimLayer = lAnimStack->GetMember(FBX_TYPE(FbxAnimLayer), n);
After retrieving an animation layer, you can access the animation curves for the properties of nodes and node attribute.
- Retrieve the animation curves.
- Given a node (lNode) and an animation layer (lAnimLayer), you can retrieve the animation curves for node properties such as the local translation as shown in the following example.
FbxAnimCurve* lAnimCurve = lNode->LclTranslation.GetCurve(lAnimLayer, FBXSDK_CURVENODE_COMPONENT_X);
- Given a node (lNode) and a layer (lAnimLayer), you can retrieve the animation curves for node attribute properties such as the red color component as shown in the following example.
FbxNodeAttribute* lNodeAttribute = lNode->GetNodeAttribute(); FbxAnimCurve* lAnimCurve = lNodeAttribute->Color.GetCurve<FbxAnimCurve>(pAnimLayer, FBXSDK_CURVENODE_COLOR_RED);
- Given a node (lNode) and an animation layer (lAnimLayer), you can retrieve the animation curves for node properties such as the local translation as shown in the following example.
You can also use the animation curve nodes to access the animation data for the properties. The following steps show how to access the animation curves for a specific property on the first (0th) channel.
- Check whether the property is valid.
if (lProperty.IsValid) ...
- Retrieve the curve node using the animation layer.
FbxAnimCurveNode* lCurveNode = lProperty.GetCurveNode(pAnimLayer);
If the property is not animated the curve node is NULL.
if (lCurveNode != NULL) ...
- Step through the curves in the curve node.
for( int c = 0; c < lCurveNode->GetCurveCount(0U); c++ ) { FbxAnimCurve* lAnimCurve = lCurveNode->GetCurve(0U, c); if (lAnimCurve != NULL) { // ... } }
See the FbxAnimCurveNode class reference for more information on animation curve nodes and channels.
For a more detailed example of importing animation data using the FBX SDK, see the example ImportScene/DisplayAnimation.cxx.
----------------------------ENG-------------------------------------
---------------text-----------------
--------------
FBXSDK Extracting the Animation Data from a FBX File の日本語翻訳 アニメーションデータの抽出
--------------
FBXSDK アニメーションデータの抽出の翻訳
http://help.autodesk.com/view/FBX/2017/ENU/?guid=__files_GUID_9481A726_315C_4A58_A347_8AC95C2AF0F2_htm
FBXファイルからのアニメーションデータの抽出
FBXファイル全体をロードせずに、
シーン(FBXファイル)からアニメーションデータを抽出して照会することができます。◾シーン(FbxScene)
Scene
は
最上位でメッシュやアニム全データを含みます
1つまたは複数のアニメーションスタック含みます
◾(FbxAnimStack)
AnimStack
は
アニメーションのスタックは、
アニメーションデータのための
最上位レベルのコンテナで
あり
1つまたは複数のアニメーションレイヤ
Take1,Take2
を含みます◾(FbxAnimLayer)
AnimLayer
は
アニメーションの
レイヤで、
一つ以上のアニメーション曲線ノードを含みます
◾(FbxAnimCurveNode)
AnimCurveNode
は
アニメーションの
カーブたちのノード
で、
アニメーションカーブとの接続点である
◾(FbxAnimCurve)
AnimCurve
の
メンバーには◾(FbxProperty )
Property
そのFBXのプロパティとして◾FbxObject
Object
FBXオブジェクトの値をもちますシーンからアニメーションデータを抽出するには、次の手順を実行します。
FbxScene(pScene)のインスタンスへのポインタを使用して、
最上位レベルのコンテナ
take1とかtake2が入ってる
のアニメーションスタックを抽出します。
int型numStacks =
pScene - >
GetSrcObjectCount (FBX_TYPE
(FbxAnimStack));
I ++)
n番目のアニメーションスタック
を取得します。
Take1をとりますFbxAnimStack * pAnimStack =
FbxCast < FbxAnimStack >
(pScene - >
GetSrcObject (FBX_TYPE(FbxAnimStack)
、n個)
アニメーションスタック内の
アニメーションレイヤの数を取得します。take1 のjointのxのアニメーション
take1 のjointのyのアニメーション
take1 のjointのzのアニメーション
take1 のjoint2のxのアニメーション
take1 のjoint2のyのアニメーション
take1 のjoint2のzのアニメーションint型 numAnimLayers =
pAnimStack - >
GetMemberCount (FBX_TYPE
(FbxAnimLayer)
);
アニメーションスタックから
n番目のアニメーションレイヤを取得します。
take1 のjointのxのアニメーションFbxAnimLayer * lAnimLayer =
lAnimStack - >
GetMember
(FBX_TYPE
(FbxAnimLayer)
、n番目)
アニメーションレイヤを取得した後、
アニメーションノードの
メンバーの
プロパティから
と
ノード属性の
アニメーションカーブに
アクセスできます。Take1 のjointのxのアニメーションレイア
の カーブ
アニメーションカーブを取得します。
ノード
(Node)
と
アニメーションレイヤー
(AnimLayer)
を
指定すると、
次の例に示すように、ローカル変換などのノードプロパティのアニメーションカーブを取得できます。
FbxAnimCurve * lAnimCurve =
lNode- >
LclTranslation ,
GetCurve
(
lAnimLayer 、
FBXSDK_CURVENODE_COMPONENT_X
)
ノード
(lNode)と
レイヤー
(lAnimLayer)
を指定すると、
次の例に示すように、
赤色コンポーネントなどの
ノード属性プロパティの
アニメーションカーブを取得できます。FbxNodeAttribute * lNodeAttribute =
lNode- >
GetNodeAttribute ();FbxAnimCurve * lAnimCurve = lNodeAttribute - >
Color.
GetCurve
< FbxAnimCurve >
(
pAnimLayer 、FBXSDK_CURVENODE_COLOR_RED
)
また、取得した
アニメーションの
カーブノード
AnimCurveNode
を使用して、
プロパティの
アニメーションデータに
アクセスすることもできます。次の手順では、
最初の(0番目の)チャンネルの
特定のプロパティの
アニメーションカーブのデータに
直接アクセスする方法を示します。プロパティが有効かどうかを確認します。
if(lProperty .IsValid()==True )取得したアニメーションレイヤーを使用して
カーブノードを取得します。FbxAnimCurveNode * lCurveNode =
lProperty .GetCurveNode (pAnimLayer ) プロパティが
ア二メートされていない場合、
カーブノードは
NULL
です。 If(lCurveNode != NULL)...
取得したカーブノードたちを
個数ぶんループして取得します。Int lCurveNodeCount=
CurveNode - >
GetCurveCount (0U )For(int C = 0 ;
C < lCurveNodeCount;
C ++ )
{
FbxAnimCurve * lAnimCurve =
lCurveNode - >
GetCurve (0U 、C );では参照してください
FbxAnimCurveNodeの
アニメーションカーブノードと
チャネルの詳細については、
クラス参照を。
FBX SDKを使用した
アニメーションデータをインポートする詳細な例については、
例を参照してください
ImportScene / DisplayAnimation.cxx
を。
関連リンク
* シーンの読み込み
* アニメーションクラスとその相互関係
* アニメーション用の新しいデータ構造への移行 - Extract the animation stacks using a pointer to an instance of the FbxScene (pScene).
- | whaison | FBX_SDK | 06:53 | comments(0) | - | pookmark |
- 2016.12.29 Thursday
- Filmbox の省略名称 FBX が一般化 し過ぎた ため filmbox は モーションキャプチャ 用だから未入力データがあっても filmboxに悪意はない。どんなキャプチャでも 記録時 実データはオーバー 気味に サンプリング できる仕様だから親切な設計だ。
-
Filmbox の省略名称 FBX が一般化 し過ぎた ため filmbox は モーションキャプチャ 用だから未入力データがあっても filmboxに悪意はない。どんなキャプチャでも 記録時 実データはオーバー 気味に サンプリング できる仕様だから親切な設計だ。
------------------------------------------
時間 x 速さ = 距離
Time * Speed = Length再生秒数 × fps = 全体のフレーム数
PlayTime * FramePerSecond = FullFrameの3つが要素が全てが
整合性がとれない値をfbxsdk
GrobalTimeSettings
にわたすと未入力データのあるデータは
作れます。例として、
------------------------------------------
誤 :
4秒 × 60フレーム毎秒 = 全体フレーム120数
※差分の120フレームの未入力データができる正 :
4秒 × 60フレーム毎秒 = 全体フレーム240数
------------------------------------------
これは
「film box がモーションキャプチャ用
だから。」だと、
する仮説が立つ。120フレームのシーンを用意した場合
だいたい
どんなキャプチャでも 実データは
オーバー 気味に サンプリング
するのが、
あとで
編集する時に
効果的だからだ。
仕様かと思う。悪気はない気がする。
むしろ親切設計だ。
------------------------------------------
------------------------------------------
------------------------------------------
FBX - Wikipedia[https://ja.m.wikipedia.org/wiki/FBX]
------------------------------------------
時間 x 速さ = 距離
再生秒数 × fps = 全体のフレーム数
の3つが要素が全てが
整合性がとれない値をfbxsdkにわたすと空白フレームのあるデータは
作れます。
------------------------------------------
誤 :
4秒 × 60フレーム毎秒 = 全体フレーム120数
※差分の120フレーム空白ができる正 :
4秒 × 60フレーム毎秒 = 全体フレーム240数
------------------------------------------
これは
「film box がモーションキャプチャ用
だから。」だと、
する仮説が立つ。120フレームのシーンを用意した場合
だいたい
どんなキャプチャでも 実データは
オーバー 気味に サンプリング
するのが、
あとで
編集する時に
効果的だからだ。
仕様かと思う。悪気はない気がする。
むしろ親切設計だ。
------------------------------------------
Autodesk FBX Technology (.fbx)
拡張子
.fbx
タイプコード
'FBX'
開発者
Autodesk
FBX (Filmbox) は、Kaydaraによって開発され、2006年よりAutodeskが所有するプロプライエタリなファイル形式 (.fbx) である。 この形式は、デジタルコンテンツ作成 (DCC) アプリケーション間の相互運用性を提供するために使用されている。FBXは、ビデオゲームのミドルウェアシリーズである、Autodesk Gameware(英語版)の一部にもなっている。
歴史
FBXは、カナダ企業であるKaydaraの、モーションキャプチャーデバイスからのデータを記録するソフトウェアFilmbox(英語版)のためのファイル形式を起源とする。1996年より以前は、Filmbox 1.0はFLMと呼ばれるファイル形式を使用していた。この形式はモーションデータ、ユーザー設定およびモーションデータのキャプチャデバイスリストのみをサポートしていた。このデータは、read/writeのメモリデータを含む、ライブラリのシリアル化バージョン (バイナリダンプ) であった。このデータ保存方法は、異なるバージョンのFilmboxではうまく動作しなかった。また、Filmboxの早期導入者からの要望として、3Dビューでディスプレイマーカーと一緒にデータの可視化を可能にするために、シーン内でモーションキャプチャーデータと共にターゲットキャラクターを実装することを求められていた。
1996年、Kaydaraは、2D、3D、音声、動画データとモーションの保存を可能にした、オブジェクトベースモデルのFBXと呼ばれる新たなネイティブファイル形式を、Filmbox 1.5と共にリリースした。この形式は、Cinema 4D、Softimage、PowerAnimator、LightWave 3Dおよび3D Studio MAXのような他の3Dソフトウェアパッケージからの広範なサポートを受けた。
2002年、バージョン4.0のリリースと共に、FilmboxはMotionBuilderに改名され、KaydaraはAppleのQuickTime Viewer用のFBXを立ち上げた。
2004年8月8日、Alias(英語版)はKaydaraを買収する意向を発表し、9月に合意に達した。2005年、オブジェクトモデルを標準化し、他のソフトウェア開発者が、彼ら自身のプラグインを提供することを可能にするため、ソフトウェア開発キット (SDK) が開発された。
2006年1月10日、AliasはAutodeskに買収された。その後2006年に、プロパティ機能のためのサポートがFBXに追加された。制限
AutodeskはFBXファイルの読み書きおよび相互変換のためのC++ FBX SDKを提供している[1]。2016年5月現在の最新版は2017.0.1である[2]。
FBXファイル形式はプロプライエタリであるものの、フォーマットの説明は、FBXリーダー/ライター用のヘッダーファイルを提供するFBX拡張SDKにて公開されている。
Autodeskにより提供されるFBX SDKバインディングとして、C++用およびPython用の2つがある。Blenderは、FBX SDKを使わずに書かれた、FBX用のインポート/エクスポートスクリプトを含んでいる[3]ほか、The OpenEnded GroupのFieldは、FBXファイルを読み込み展開するためのJavaベースのライブラリを含んでいる[4]。ファイル形式
編集
FBXは、バイナリまたはASCIIデータのどちらでも表現でき、FBX SDKを利用して読み書きが可能である。
どちらの形式もドキュメント化されていないものの、Autodesk FBX SDKに資料が存在している。
FBXのバイナリ形式に関しては、Blender Foundationが非公式仕様を公開しており、FBX (ASCIIまたはバイナリ形式に依存しない) に実際のデータをどうレイアウトするかを示すための高水準非公式仕様 (作業中) も公開している。
FBX SDKは内部文字列表現にUTF-8を使用する[5]。外部リンク
編集
* Autodesk FBX
* http://code.blender.org/index.php/2013/08/fbx-binary-file-format-specification
* http://wiki.blender.org/index.php/User:Mont29/Foundation/FBX_File_Structure関連項目
編集
* dotXSI
* COLLADA
* VRML
* X3D
* Autodesk Gameware出典
編集
1. ^ Autodesk - Products - FBX - Overview
2. ^ Autodesk - Autodesk FBX - FBX Software Development Kit
3. ^ “FBX”. Blender Foundation (2009年12月26日). 2009年12月26日閲覧。 “Export selected objects to Autodesks .FBX file format.”
4. ^ “Loading FBX files”. OpenEndedGroup (2009年12月26日). 2009年12月26日閲覧。 “Field's comes with a Java-based library for loading, and hacking the interesting parts out of, FBX files.”
5. ^ Autodesk FBX SDK Documentation: Supported String Formats
<img src="//ja.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1&mobile=1" alt="" title="" width="1" height="1" style="border: none; position: absolute;" />
最終編集: 5 か月前、Sygh
関連ページ
* 3DCGソフトウェア
* DotXSI
* 3DCGソフトウェアの歴史コンテンツは、特に記載されていない限り、CC BY-SA 3.0のもとで利用可能です。
* プライバシーデスクトップ - | whaison | FBX_SDK | 12:55 | comments(0) | - | pookmark |
- 2015.08.16 Sunday
- MacOSX10.10.4(Yosemite ) FBX SDK 2015.1 Clang 004 ターミナル大成功!All Sample Build
-
MacOSX10.10.4(Yosemite ) FBX SDK 2015.1 Clang 004 ターミナル大成功!All Sample Build
- MacOSX10.10.4(Yosemite )Xcode7bataでFBX SDK Mac FBX SDK 2015.1 Clang (tgz)でやってみた。003 ターミナル大成功!
- つづき
参考:http://jehupc.exblog.jp/15729095
シェルを書いてみた。
めっちゃ自動実行されていく長いよ。 いみなかったっぽい。
- | whaison | FBX_SDK | 07:52 | comments(0) | - | pookmark |
- 2015.08.16 Sunday
- MacOSX10.10.4(Yosemite )Xcode7bataでFBX SDK Mac FBX SDK 2015.1 Clang (tgz)でやってみた。003 ターミナル大成功!
-
MacOSX10.10.4(Yosemite )Xcode7bataでFBX SDK Mac FBX SDK 2015.1 Clang (tgz)でやってみた。003 ターミナル
http://usa.autodesk.com/adsk/servlet/pc/item?siteID=123112&id=10775847
にある中の
FBX SDK Mac FBX SDK 2015.1 Clang (tgz - 113574Kb)
tgzを解凍するとpkgで
インストーラーが走る。
/Applications/Autodesk/FBX SDK/2015.1/samples/
こんだけサンプル入ってる。
whaisonMacBookAir-2:~ whaison$ cd /Applications/Autodesk/FBX¥ SDK/2015.1/samples
whaisonMacBookAir-2:samples whaison$ ls
Animation ExportScene05 ProceduralTexture
Camera ExportShader StereoCamera
Common FileStream SwitchBinding
ConvertScene ImportScene Transformations
ExportDocument Instances UVSample
ExportScene01 Layers UserProperties
ExportScene02 MyOwnWriterReader ViewScene
ExportScene03 Normals
ExportScene04 Pivot
つかってみよう!
http://blog.prtissimo.com/macfbx/
さんの記事ではサンプルフォルダでは$make してた。
whaisonMacBookAir-2:ViewScene whaison$ make
Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.
whaisonMacBookAir-2:ViewScene whaison$ sudo make
Password:
You have not agreed to the Xcode license agreements. You must agree to both license agreements below in order to use Xcode.
Hit the Enter key to view the license agreements at '/Applications/Xcode.app/Contents/Resources/English.lproj/License.rtf'
でEnterおすと
って とまる
agree
ってタイプすると
ってなってさいごにこれサンプル実行される。
cc -m32 -o ../../bin/clang/x86/release/ViewScene/ViewScene ../Common/Common.o ./DrawScene.o ./DrawText.o ./GetPosition.o ./SceneCache.o ./SceneContext.o ./GlFunctions.o ./SetCamera.o ./targa.o ./main.o -L../../lib/clang/ub/release -L. -lfbxsdk -lm -lGLEW32 -lc++ -liconv -fexceptions -lz -framework GLUT -framework OpenGL -framework Cocoa -framework SystemConfiguration
ld: warning: directory not found for option '-L../../lib/clang/ub/release'
ld: library not found for -lfbxsdk
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [../../bin/clang/x86/release/ViewScene/ViewScene] Error 1
whaisonMacBookAir-2:ViewScene whaison$ sudo make
Password:
cc -m32 -o ../../bin/clang/x86/release/ViewScene/ViewScene ../Common/Common.o ./DrawScene.o ./DrawText.o ./GetPosition.o ./SceneCache.o ./SceneContext.o ./GlFunctions.o ./SetCamera.o ./targa.o ./main.o -L../../lib/clang/ub/release -L. -lfbxsdk -lm -lGLEW32 -lc++ -liconv -fexceptions -lz -framework GLUT -framework OpenGL -framework Cocoa -framework SystemConfiguration
ld: warning: directory not found for option '-L../../lib/clang/ub/release'
ld: library not found for -lfbxsdk
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [../../bin/clang/x86/release/ViewScene/ViewScene] Error 1
whaisonMacBookAir-2:ViewScene whaison$
同じエラーだ。
#(original)LIBDIR = ../../lib/$(COMPILER)/ub/$(VARIANT)
LIBDIR = ../../lib/$(COMPILER)/$(VARIANT)
なおした。whaisonMacBookAir-2:ViewScene whaison$ sudo make
cc -m32 -o ../../bin/clang/x86/release/ViewScene/ViewScene ../Common/Common.o ./DrawScene.o ./DrawText.o ./GetPosition.o ./SceneCache.o ./SceneContext.o ./GlFunctions.o ./SetCamera.o ./targa.o ./main.o -L../../lib/clang/release -L. -lfbxsdk -lm -lGLEW32 -lc++ -liconv -fexceptions -lz -framework GLUT -framework OpenGL -framework Cocoa -framework SystemConfiguration
mv *.o ../../obj/clang/x86/release/ViewScene
mv ../Common/*.o ../../obj/clang/x86/release/ViewScene
cp -f humanoid.fbx ../../bin/clang/x86/release/ViewScene
cp -f FBX_ASCII_TEXTURE ../../bin/clang/x86/release/ViewScene
cp -f ../../lib/clang/release/libfbxsdk.dylib ../../bin/clang/x86/release/ViewScene
whaisonMacBookAir-2:ViewScene whaison$
いけちゃった!
コンパイルに成功しました。実行ファイルは../../bin/clang/x86/release/ViewSceneに生成されます。
これだ!whaisonMacBookAir-2:ViewScene whaison$ cd ../../bin/clang/x86/release/ViewScene
whaisonMacBookAir-2:ViewScene whaison$ ./ViewScene
ウィンドウ起動した。。。
Autodesk FBX SDK version 2015.1 Release (228957)
Play/Pause Animation: Space Bar.
Camera Rotate: Left Mouse Button.
Camera Pan: Left Mouse Button + Middle Mouse Button.
Camera Zoom: Middle Mouse Button.
ですって。
- | whaison | FBX_SDK | 05:18 | comments(0) | - | pookmark |
- 2015.08.15 Saturday
- MacOSX10.10.4(Yosemite )Xcode7bataでFBX SDK Mac FBX SDK 2015.1 Clang (tgz)でやってみた。003 C言語 失敗
-
http://usa.autodesk.com/adsk/servlet/pc/item?siteID=123112&id=10775847
にある中の
FBX SDK Mac FBX SDK 2015.1 Clang (tgz - 113574Kb)
tgzを解凍するとpkgで
インストーラーが走る。
/Applications/Autodesk/FBX SDK/2015.1/samples/
こんだけサンプル入ってる。
whaisonMacBookAir-2:~ whaison$ cd /Applications/Autodesk/FBX¥ SDK/2015.1/samples
whaisonMacBookAir-2:samples whaison$ ls
Animation ExportScene05 ProceduralTexture
Camera ExportShader StereoCamera
Common FileStream SwitchBinding
ConvertScene ImportScene Transformations
ExportDocument Instances UVSample
ExportScene01 Layers UserProperties
ExportScene02 MyOwnWriterReader ViewScene
ExportScene03 Normals
ExportScene04 Pivot
つかってみよう!
せってい
こうなるように+を押してAddOther押して。
/Applications/Autodesk/FBXSDK/2015.1/lib/clang/release
libfbxsdk.a
libfbxsdk.dylib
追加する
これねこれ参考に
こうなるように
ヘッダー
/Applications/Autodesk/FBXSDK/2015.1/include/
ライブラリパスを設定します。
/Applications/Autodesk/FBXSDK/2015.1/lib/clang/debug/
/Applications/Autodesk/FBXSDK/2015.1/lib/clang/release///
// main.cpp
// fbxsdkViewer002cpp
//
// Created by whaison on 2015/08/15.
// Copyright © 2015年 whaison. All rights reserved.
//
#include <iostream>
#include <fbxsdk.h>
int main(int argc, const char * argv[]) {
// insert code here...
std::cout << "Hello, World!¥n";
return 0;
}
ビルドエラー 失敗c++でやりましょう。
- | whaison | FBX_SDK | 20:54 | comments(0) | - | pookmark |