OverView

ufbx
🧩 ufbx — 単一ソースファイルの FBX ローダー ufbx は、単一のソースファイルで構成された FBX ローダーです。 このライブラリは、FBX ファイル形式を簡単に扱える ユーザーフレンドリーなインターフェース を提供することを目的とし、必要に応じて 高度な機能にも完全対応 しています。 特徴 単一ファイル構成 ：C99 / C++11 に対応した1つのソースファイルで完結 堅牢なエラーハンドリング ：無効なファイルやメモリ不足などにも安全に対応 型安全なAPI ：C++およびRustバインディングでは境界チェック付きスライスを使用 徹底したテストとファジング（fuzzing） による高信頼性 💾 ダウンロードと使用例 ufbx_load_opts opts = { 0 }; // 任意設定、デフォルトを使う場合は NULL を渡す

ufbx_error error; // 任意、エラーを無視する場合は NULL を渡す

ufbx_scene *scene = ufbx_load_file("my_scene.fbx", &opts, &error);

if (!scene) {

 fprintf(stderr, "読み込みに失敗しました: %s\n", error.description.data);

 exit(1);

}

// 読み込まれた `scene` を自由に利用できます。

// これはただのプレーンなデータ構造です！

// 例: シーン内のすべてのオブジェクトを列挙して表示

for (size_t i = 0; i < scene->nodes.count; i++) {

 ufbx_node *node = scene->nodes.data[i];

 if (node->is_root) continue;

 printf("オブジェクト: %s\n", node->name.data);

 if (node->mesh) {

 printf("→ メッシュ（%zu 面）\n", node->mesh->faces.count);

 }

}

ufbx_free_scene(scene); 💡 補足 上記コードをコンパイルすれば、任意の .fbx ファイルを読み込み、ノード（オブジェクト）やメッシュ情報を列挙できます。 scene 構造体には、マテリアル、トランスフォーム、アニメーションなどの詳細情報も格納されています。