Maya 2015 (FBX SDK/FBX Plugins version 2015.1 build=20140408) で吐かれているらしきデータにエラーを見付けて悲しくなっている、今まで読み漁ってきたバイナリからすれば FBX SDK が間違っていることは確信できるんだけど、むしろ FBX はプロプライエタリなのでこの壊れたファイルの方が正しい……
具体的には、トップレベルの Objects ノード以下に子ノードを持たないようなノードがある場合 (典型的には CollectionExclusive (DisplayLayer) とか AnimationLayer ノード) に、余計な NULL record (13バイトの0) が吐かれている
Objects の子は全てが3つくらい属性を持っているので、子ノードを持たない場合は NULL record が存在してはいけないはずなんだけど、どうやら余計に吐かれている。
ノードヘッダに入っているノード終端位置情報が正しいので普通の処理系はこの情報を無視できるんだけど……
このまえ fbxcel の NULL record 関連の不正データ検出を強化したせいで、今まで気付いていなかったエラーに気付くようになってしまった…… (critical ではないので無視して続行はできる)
unitychan.fbx と NakanoSisters 1.2 の計3ファイルで Maya / FBX SDK バージョンが全く同じで同じエラーが検出されたので、どうも Maya 2015 (あるいは FBX SDK 2015.1) にはバグがあるっぽいことがわかってしまった