技術・開発関連
技術・開発関連 : Blenderのファイルフォーマットを解説する 'The mystery of the blend'
B@rt氏による記事です。
今日は .blend ファイルフォーマットを完全に解説するドキュメントを。有名なデモコーダーである Jeroen Bakker氏により書かれており、このことはチャットでも話題になっています。これは初めて .blend ファイルと 'Blender DNA' の全構造を集めたドキュメントであり、今まで多くの場所に散り散りになっていました。コードのほとんどにコメントがあります。
Jeroen氏曰く、
私は Blender のコマンドラインと blend ファイル(.blend)により、Blender をレンダーパイプラインに統合した製品について作業中です。コマンドラインは一般的な使用なので問題ないのですが、blend ファイルを Blender の外で使用するのはあまりドキュメント化されていないため、難しいのです。
インターネットでは、Blender のアーキテクチャページ( http://www.blender.org/development/architecture/ )にいくつか手がかりがみつかっただけでした。これでは十分ではありません。このファイルフォーマットを本当に理解するため、Blender のソースコードをたどりました。ツールを制作する人たちに blend ファイルをサポートしてほしいという願いから、この記事では、blend ファイルフォーマットを解説していきます。
最初に、私は Blender が blend ファイルをどう処理しているかを説明します。なぜ blend ファイルフォーマットがうまくドキュメント化されていないのか、そして同時に Blender の視点から見るとその必要がないことが判ると思います。
次に blend ファイルの全体のファイル構造(ファイルヘッダとファイルブロック)に注目します。その説明の後は、より深い blend ファイルのコア、DNA構造体に行きます。これらは blend ファイルの設計図と、blend ファイルを理解するための一番重要な情報を保持しています。それが終わると、これら DNA 構造体を使い、blend ファイル内のどこからでも情報を読むことができるようになります。
この記事では、Bleder 2.48からのデフォルトの blend ファイルを使用し、目標は出力解像度を Scene から読み出すことです。この記事はプログラム言語に依存しない形で記述されており、サポート用のWebサイトも作成しました。
リンク
・Blender ファイルフォーマット解説
・Blender SDNA 2.49 内部 SDNA 構造
・blender ファイルのパースを行う Java ソースコード(サンプルの blend2java 付き)
- Cycles 誕生から10年、そして Cycles X (2021年04月24日)
- 2020年の Blender 開発者 Top20 (2021年01月06日)
- 大幅に高速化した実験的ビルドの Cycles のデモ (2017年04月08日)
- Blender 2.8 ワークフローリリース計画 (2015年08月17日)
- Blender 2.71でのゲーム開発支援 (2014年06月13日)
- Google Summer of Code 2014 (2014年05月17日)
- OpenSubdiv による GPU テッセレーションの WIP 動画 (2014年05月14日)
- 20年前の Blender コードが公開 (2013年12月28日)
- Blender内部レンダラ改良プロジェクト:BEERと、アンケートのお願い(動画追加) (2013年11月01日)
- Garlicブランチの国際化プロジェクトご協力のお願い (2011年07月20日)
投稿された内容の著作権はコメントの投稿者に帰属します。
ログイン
クイックリンク
2021/07/01版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)
●ニュース(英文)
BlenderNation
●Blenderコミュニティ
blenderartists.org
●Blender Q&A
- Blender Stack Exchange
●テストビルド
Buildbot(自動生成)
●開発関連
公式開発サイト
Blender開発blog
Blender Wiki
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)
●ニュース(英文)
BlenderNation
●Blenderコミュニティ
blenderartists.org
●Blender Q&A
- Blender Stack Exchange
●テストビルド
Buildbot(自動生成)
●開発関連
公式開発サイト
Blender開発blog
Blender Wiki