O3D Blender I/O(Blender用 O3D インポーター/エクスポーター)
概要
Blender O3D Importer and Exporterは、オンラインゲーム「Fly For Fun(FlyFF)」で使われる独自3Dモデル形式 .o3d をBlenderで取り扱うための非公式アドオンです。モデル本体だけでなく、スケルトン(ボーン構造)、アニメーションデータ、マテリアルやテクスチャの情報を読み書きできることを目指しており、Blenderでの編集・再利用・モデリングワークフローに組み込めます。開発は積極的な機能追加を想定しており、コミュニティからの貢献を歓迎しています。
リポジトリの統計情報
- スター数: 2
- フォーク数: 0
- ウォッチャー数: 2
- コミット数: 5
- ファイル数: 5
- メインの言語: Python
主な特徴
- .o3d ファイルのインポートとエクスポートに対応(モデル、ボーン、アニメーション、マテリアル)
- Blenderアドオン形式で提供され、インストールしてオン/オフが可能
- テクスチャやマテリアル情報をBlenderデータにマッピング
- コミュニティ貢献を前提とした拡張性(不足機能の追加を歓迎)
技術的なポイント
このプロジェクトはPythonで書かれたBlenderアドオンで、.o3d のバイナリ/テキストフォーマットを解析してBlenderのデータ構造(メッシュ、アーマチュア、アクション/キーフレーム、マテリアル、テクスチャ)へ変換することを目的としています。主な技術的工夫は、FlyFF特有のデータレイアウト(ボーン階層、ウェイト、UV、マテリアルプロパティ)をBlenderのAPIにマッピングする点にあります。インポーターはファイルを読み取り、頂点バッファやインデックス情報をMeshにセットし、アーマチュアを構築してボーンオフセットを反映、アニメーションは個別のアクションとしてキーフレームを生成します。エクスポーター側はBlender側のデータを逆変換して.o3dフォーマットへシリアライズするため、互換性とフォーマット制約の扱いがポイントです。現状はボーンアタッチや一部FlyFFユーティリティに未対応な部分があり、拡張や例外ハンドリング、テクスチャパスの解決、マテリアルプロパティの完全互換性確保が今後の課題となります。設計は比較的シンプルで、addonsディレクトリにアドオン本体を置く構成なので、Blenderのアドオンインストール機能と親和性が高く、コントリビューションによる機能追加やバグ修正が行いやすい作りです。
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitignore: file
- LICENSE: file
- README.md: file
- addons: dir
- image: dir
まとめ
BlenderでFlyFFの.o3d資産を扱いたい人向けの実用的な出発点。
リポジトリ情報:
- 名前: O3D-Blender-IO
- 説明: Blender O3D importer and exporter
- スター数: 2
- 言語: Python
- URL: https://github.com/Frostiae/O3D-Blender-IO
- オーナー: Frostiae
- アバター: https://avatars.githubusercontent.com/u/52875912?v=4
READMEの抜粋:
Blender O3D Importer and Exporter
1758865747972
Introduction
Unofficial Fly For Fun model file format (.o3d) file importer and exporter for Blender. This addon handles O3D files including their skeletons, animations, materials, and more. Progress can always be made to support additional features such as bone attachments, various FlyFF utilities, or otherwise useful additions. Contributions are welcome and encouraged, and give it a star if it’s…