Closed8
ASCII FBX を Binary FBX に変換する方法
Blender (v2.93.4) に BOOTH で買ったアバターの FBX
を読み込ませようとしたら、エラーが発生した。
ASCII FBX files are not supported
FBX とは
- 3Dモデルのアセット等をひとまとめに扱う規格である
- 現在は Autodesk が所有する規格である
- 重なった買収によって規格が渡り歩いた結果である
- 公開されたドキュメントはない
- blender 社が独自に解析した 非公式な仕様 が唯一の資料である
- FBX SDK のヘルプに参考資料がある
-
FBX
にはASCIIフォーマットとBinaryフォーマットがある
References
ASCII FBX を Binary FBX に変換する
FBX Converter を使う
いくら古いソフトウェアでも、本家本元の実装ならきっとうまくやってくれるだろう。
手順
- FBX Converter を入手する
- FBX Converter 2013.3 64bit
- ConverterのSourceに変換したい ASCII FBX を指定する
-
FBX Save Mode
をBinary
にする - Convert ボタンを押す
References
Unity FBX Exporter Package を使う
Unity は FBX のインポートに対応している。
また、 FBX Exporter というパッケージを用意している。
手順
- ウィンドウ -> Package Manager を開く
- Unity Registory から、 "FBX" で検索すると、 "FBX Exporter" というパッケージが見つかる
- "FBX Exporter" をインストールする
- Unity の
Assets
に ASCII FBX を放り込む - インポートされたモデルを選択し、 ゲームオブジェクト -> Export to FBX を選択する
- 出力に関する設定を調整し、 Export を実行する
- Export Format を
Binary
にする - 元データを上書きしないよう出力先を調整する
- Export Format を
References
違いを確認してみる
FBX Converter で バイナリ出力した FBX と、 Unity を経由してバイナリ出力した FBX を比較してみる。
FBX の中身は、 FBX Converter に同梱された FBX Explorer
で確認できる。
- ファイルサイズが違う
- FBX Converter は 1396KB
- FBX Exporter は 1963KB
- File Version が違う
- FBX Converter は 7300
- FBX Exporter は 7400
- FBX Version が違う
- FBX Converter は 7300
- FBX Exporter は 7400
- Connections の内容がまったく合わない
- FBX Converter には、各要素に
OP
なる種別を表すキーワードがある-
OP
系の要素には、グルーピングの要素名と見られる文字列がある
-
- FBX Converter には、各要素に
- Creater の内容が違う
- FBX Converter は
FBX SDK/FBX Plugin version 2013.3 build=20120911
- FBX Exporter は
FBX SDK/FBX Plugin version 2020.2 build=71821dbdf
- もともとのFBX は
FBX SDK/FBX Plugin version 2020.0
- FBX Converter は
この他頂点データと思われるデータも全く合わなかった。このあたりは変換処理によって大きく異なるものと思われる。
このスクラップは2022/01/16にクローズされました