基本型の値の表現

エンディアン

FBX バイナリ形式では、多バイトデータの表現として基本的にリトルエンディアンが用いられる。 たとえば、u32 型の値 7400 (0x00001ce8) は、バイナリデータ中では [e8 1c 00 00] のようなバイト列で表現される。

真偽値

booltruefalse の値を持つ型だが、これは FBX バイナリ形式中では (驚くべきことに) それぞれ文字 Y (数値 0x59) と文字 T (数値 0x54) で表現される。

論理的な値バイナリ表現ASCII 対応する文字
false0x54T
true0x59Y

TY の由来が何なのかは不明。

留意すべきなのが、これらは Autodesk 公式の FBX SDK が読み書きする値であって、必ずしもすべてのソフトウェアがこれに準拠しているわけではないことだ。 たとえば Blender 2.72b における FBX プラグインは、真偽値として 0x540x59 ではなく 0x000x01 を出力する。 このようなデータは FBX SDK にとって不正であり無視されてしまうため、情報が欠落することになる。

FBX 処理系はこのような壊れた真偽値表現に遭遇した場合、 0x540x59 のみを受け入れて FBX SDK と同様にデータを読み取るのか、偶数と奇数で判別して出力プログラムが意図した (であろう) データを読み取るのか、選択する必要がある。