元記事:blender.org - Imaging
Blender の Composite 機能と Pass レンダー機能のために、Blender の画像処理システムをもっと進化させる必要があるのは明らかなことでした。これで以下のような、多くの人が待ち望んでいた機能が利用可能になりました。
現在、"Image" には大きく5つのタイプがあり、その画像がどこから来たのかによって決まります。
画像ファイル(Still)
内容が1フレームの単体のファイルです。標準はPNGですが、それだけではなく、新たにマルチレイヤファイルも使用できます。
連番画像(Sequence)
命名規則(0001、0002、…のような連番を含む名前)を元に、現在のフレームから、ファイルをひとつ読み出します。これには標準のファイルと、マルチレイヤファイルが使用できます。
動画ファイル(Movie)
連続した画像を収めた、AVI などの単一のファイルです。
生成画像(Generated)
この画像は実際にはファイルとしては存在せずに生成されます。現在黒一色の画像もしくは "UV test grid" をサポートしています。これらの画像は常に使用の毎に再生成され、保存の必要はありません。また、"Verse bitmap" にも使用できます。
ビュワー画像(Viewer Image)
この種の画像は Compositor 内の Viewer ノードの出力や、レンダリング結果などの、単に何か別の物を表示するだけのラッパーです。UV/Image Window 用以外では、Viewer Image は Blender 内でのブラウジング(もしくはリンキング)から除外されます。
その他の大きな変更点は、ひとつの Image に複数の画像がキャッシュできるようになったことです。つまり、同じ Image を、ある「ムービーファイル」のすべてのフレームや、フリップブック再生、複数のテクスチャ用に利用可能になったということです。マルチレイヤ Image も同様で、そのレイヤとパスは、その Image のユーザから常に利用可能です。また、Viewer Image にも、複数の画像を格納し、フリップブック再生することができます。
この新しいマルチレイヤ Image は、UI に透過的に統合されています。テクスチャや背景、Composite、ペイント、表示に使用できます。フォーマットに OpenEXR を使用しており、ロスレス圧縮された浮動小数点数チャネルを使用しています(他の圧縮形式や、'Half' 浮動小数点数などにはまだ未対応です)。
この Image タイプは、デフォルトで同じ拡張子(.exr)を使用しています。通常の RGBA ファイルか、マルチレイヤファイルかは自動的に検知します(OpenEXR チームと議論し、ファイルには、カスタムの "BlenderMultiChannel" 属性が付けられています)。残念ながら、他に OpenEXR マルチレイヤファイルをサポートしている画像処理プログラムはまだありません…いずれサポートされるでしょう!
内部的には、ファイルは3つのレベルで構成されています。
- レイヤ(ユーザにより名前の定義が可能。最大19文字)
- Pass (RenderLayer パネルで使用可能な Pass を設定)
- チャネル (R, G, B, A, X, Y, Z, U, V, W)
Blender で Composite が使用できるようになっていた場合、その Composite の結果は自身のレイヤに出力されます。
Image の全オプションが専用のボタンパネルに入るようになりました。また、これらのパネルは、Texture、UV/Image Window、3DWindow の Background Image で使用されている UI すべてに渡り同一です。
一番上の列のボタン、"Still, Movie, Sequence, Generated" では、主な Image タイプを表示します。タイプの変更もここで行えます。ファイルの読み込み時、Blender は静止画 (Still)か、動画(Movie)かを判断しようとします。
次の列は、Image(Data)名と、その全 Path(訳注:Pass ではありません)を表示します。フォルダアイコンボタンで、新しい Image をロードできます。
左下の隅には、ビデオのフィールドと、アンチエリアスを示す、旧オプションがあります。
ここまでのオプションは Image 毎です。以下のオプションは Image の「使用」毎に、Texture、ノード、Viewer で違う表示になります。
- Image がマルチレイヤの場合、レイヤとパスを閲覧するメニューとボタンが表示されます。
- Image が Sequence もしくは Movie の場合、画像を取り出す方法についてのオプションが表示されます。新しい "Auto Refresh" オプションは、フレームが進む時に強制的に再描画(もしくはプレビューの再レンダリングや、再 Composite)されることに注意して下さい。
Image ノード
ある Image ノードでマルチレイヤ画像を読み込んだ場合、Layer メニューがボタンに追加され、Output ソケットのレイヤで使用できる Pass が現れます。
Composite ボタンパネルは(まだ)ないため、この Image 用オプションは少し圧縮されています。右上のアイコンメニューは、Image タイプを表示し、小さい "車(Auto)" アイコンは、このノードのフレームチェンジ時に、"Auto Refresh" するよう指定します。
前掲のパネルにあったすべてのオプションはノードローカルになったため、単一のマルチレイヤ Sequence Image の別々の Layer や、別々のフレーム番号を、同じひとつの Composite 内で使用できます。
Image Window ヘッダ
いつもの Image ブラウズオプションの隣に、"Render Result" や、マルチレイヤ Image の内容もすばやくブラウズできるメニューが表示されるようになりました。[N]キーの Properties パネルでもすべてのオプションを見ることができます。
また、新しい再生アイコン(Movie や Sequence Image 用)もあります。ただし、最初に Properties パネルを使用してフレーム範囲を指定してやる必要があります。
もし Image にペイントする場合、Lock(鍵)アイコンボタンを押すと、Compositor にペイント中、イベントを送りつづけます。
Composite Viewer のフリップブック再生
Composite Viewer Image の Properties パネルには、再生用にキャッシュ(Cache)するオプションがあります。"Record" ボタンは RenderLayer ノードの再レンダリングを除く Composite を完全に実行します。
再生ボタン([Alt]+{A})は、アニメーションを再生します。
キャッシュはメモリを消費することに注意して下さい!
Paint ツール
Paint が以下をサポートするようになりました。
- Sequence Image のペイント
- マルチレイヤ Image のペイント(マルチレイヤ Sequence 以外)
- Pack された Image のペイント(Pack されたマルチレイヤの Image 以外)
ファイルの Pack
- マルチレイヤ Image が Pack 可能に
- プロシージャル Image(UV test grid) が(PNG で)Pack 可能に
- ペイント後やベイキング後などに Image を再 Pack 可能に。PNG のみ再 Pack 可能です。'Pack' アイコンが青になって Pack されたファイルが変更されたことを告げ、再 Pack が可能となります。
- 新しい Pack 解除オプション:"Remove Pack" は、Pack されたファイルがその瞬間から保存されなくなります。
Image ファイルの保存
- "Save As" を Image Window で使用した時、ヘッダのメニューでファイルフォーマットの表示と変更が可能になります。(注:まだ、SceneButtons で設定された圧縮クオリティ(Compression Quality)を使用します)。
- 新オプション:"Save Changed Images"。ペイントされたすべての Image を保存します。
Image Window
- [J]キー(Spare 画像表示との切り替え)が、Image Window でも動作するように。Composite 編集時も同様です。
- 左マウスボタンによるスポイト機能で、浮動小数点数画像の4チャネル以内の正確な情報が表示されるように。
Composite
- ホットキー[E]が変更されたノードの実行もするように。
- Compositor の最適化。Image ノードタイプでないものを無視します。
- Image ノード上でクリックすると、Image Window で表示されるように(Image Viewer に表示されていない場合)。
- RenderLayer ノード上でクリックすると、SceneButtonsにアクティブレイヤが設定されるように。
TimeLine Window
- 新オプション:Image Window の再生(Playback)。
3DWindow の Background Image
- アニメーションする Background のために、Texture を使用するような不格好な回避策がなくなりました。古い blend ファイルを読み込む時には、もう一度 Background Image を作成する必要があります。
メモリの使用に関する注意
- Image のアニメーション再生使用時、すべてのフレーム用にメモリを確保するため、すぐに最大メモリ量に達する可能性があります。
- レンダリング毎に、Image キャッシュ内の使用されていない画像が削除されます。
- Todo: "Sequencer キャッシュリミッタ" の使用の検討。
コードリファクタリングノート
- blenkernel/BKE_image.h が、Image に対する動作用の、完全に新しい API を持つように。
- 最も注目すべき変更:Image の次の、"ImageUser" の導入。
- MipMap の格納と計算を ImBuf へ移動。
- ImBuf float 画像に、チャネル数も格納するように。これは Paint 以外の ImBuf の float オプションについては完了していません。
- マルチレイヤの読み書きの再コーディング。もう、以前の "Save Buffer" テンポラリファイルが読めなくなりました。OpenEXR とともに、私たちはマルチレイヤフォーマットファイルの標準化について話し合っています。
- 残念ながら、OpenEXR のチャネル名は32文字までです…よって Blender ではレイヤ名が最大19文字、Pass 名が10文字となっています。
- PythonAPI には若干問題があるようです…重要な変更点について、コード内に記述しています。誰かがこれをたどってくれますように。
- イベントキューのストレージがイベントの重複を無視するよう変更。フリップブック再生や[Alt]+[A]の再生によるメモリの問題が解決されるでしょう。
- バグ修正:非常に古い、'Full Window' にしたり、元に戻したりする時に起こる、メモリに関する問題を見つけました。
- FileSelect の使用方法を変更、3つのタイプのコールバック関数が使用可能に。これはグローバル変数による害(と、バグの解決)を廃絶するのに必要です。
元記事:blender.org - Imaging
Image 処理
Blender の Composite 機能と Pass レンダー機能のために、Blender の画像処理システムをもっと進化させる必要があるのは明らかなことでした。これで以下のような、多くの人が待ち望んでいた機能が利用可能になりました。
- マルチレイヤ(MultiLayer)Image の読み書きと、すべてのエディタへの統合
- Compositor、Sequcencer、動画ファイルでのフリップブック再生
- Image Sequence、マルチレイヤ Image でのペイント機能と、Compositor への統合
- Image の再 Pack
- プロシージャル Image
Image のタイプ
現在、"Image" には大きく5つのタイプがあり、その画像がどこから来たのかによって決まります。
画像ファイル(Still)
内容が1フレームの単体のファイルです。標準はPNGですが、それだけではなく、新たにマルチレイヤファイルも使用できます。
連番画像(Sequence)
命名規則(0001、0002、…のような連番を含む名前)を元に、現在のフレームから、ファイルをひとつ読み出します。これには標準のファイルと、マルチレイヤファイルが使用できます。
動画ファイル(Movie)
連続した画像を収めた、AVI などの単一のファイルです。
生成画像(Generated)
この画像は実際にはファイルとしては存在せずに生成されます。現在黒一色の画像もしくは "UV test grid" をサポートしています。これらの画像は常に使用の毎に再生成され、保存の必要はありません。また、"Verse bitmap" にも使用できます。
ビュワー画像(Viewer Image)
この種の画像は Compositor 内の Viewer ノードの出力や、レンダリング結果などの、単に何か別の物を表示するだけのラッパーです。UV/Image Window 用以外では、Viewer Image は Blender 内でのブラウジング(もしくはリンキング)から除外されます。
その他の大きな変更点は、ひとつの Image に複数の画像がキャッシュできるようになったことです。つまり、同じ Image を、ある「ムービーファイル」のすべてのフレームや、フリップブック再生、複数のテクスチャ用に利用可能になったということです。マルチレイヤ Image も同様で、そのレイヤとパスは、その Image のユーザから常に利用可能です。また、Viewer Image にも、複数の画像を格納し、フリップブック再生することができます。
マルチレイヤ Image
この新しいマルチレイヤ Image は、UI に透過的に統合されています。テクスチャや背景、Composite、ペイント、表示に使用できます。フォーマットに OpenEXR を使用しており、ロスレス圧縮された浮動小数点数チャネルを使用しています(他の圧縮形式や、'Half' 浮動小数点数などにはまだ未対応です)。
この Image タイプは、デフォルトで同じ拡張子(.exr)を使用しています。通常の RGBA ファイルか、マルチレイヤファイルかは自動的に検知します(OpenEXR チームと議論し、ファイルには、カスタムの "BlenderMultiChannel" 属性が付けられています)。残念ながら、他に OpenEXR マルチレイヤファイルをサポートしている画像処理プログラムはまだありません…いずれサポートされるでしょう!
内部的には、ファイルは3つのレベルで構成されています。
- レイヤ(ユーザにより名前の定義が可能。最大19文字)
- Pass (RenderLayer パネルで使用可能な Pass を設定)
- チャネル (R, G, B, A, X, Y, Z, U, V, W)
Blender で Composite が使用できるようになっていた場合、その Composite の結果は自身のレイヤに出力されます。
Image の UI
Image の全オプションが専用のボタンパネルに入るようになりました。また、これらのパネルは、Texture、UV/Image Window、3DWindow の Background Image で使用されている UI すべてに渡り同一です。
一番上の列のボタン、"Still, Movie, Sequence, Generated" では、主な Image タイプを表示します。タイプの変更もここで行えます。ファイルの読み込み時、Blender は静止画 (Still)か、動画(Movie)かを判断しようとします。
次の列は、Image(Data)名と、その全 Path(訳注:Pass ではありません)を表示します。フォルダアイコンボタンで、新しい Image をロードできます。
左下の隅には、ビデオのフィールドと、アンチエリアスを示す、旧オプションがあります。
ここまでのオプションは Image 毎です。以下のオプションは Image の「使用」毎に、Texture、ノード、Viewer で違う表示になります。
- Image がマルチレイヤの場合、レイヤとパスを閲覧するメニューとボタンが表示されます。
- Image が Sequence もしくは Movie の場合、画像を取り出す方法についてのオプションが表示されます。新しい "Auto Refresh" オプションは、フレームが進む時に強制的に再描画(もしくはプレビューの再レンダリングや、再 Composite)されることに注意して下さい。
Image ノード
ある Image ノードでマルチレイヤ画像を読み込んだ場合、Layer メニューがボタンに追加され、Output ソケットのレイヤで使用できる Pass が現れます。
Composite ボタンパネルは(まだ)ないため、この Image 用オプションは少し圧縮されています。右上のアイコンメニューは、Image タイプを表示し、小さい "車(Auto)" アイコンは、このノードのフレームチェンジ時に、"Auto Refresh" するよう指定します。
前掲のパネルにあったすべてのオプションはノードローカルになったため、単一のマルチレイヤ Sequence Image の別々の Layer や、別々のフレーム番号を、同じひとつの Composite 内で使用できます。
Image Window ヘッダ
いつもの Image ブラウズオプションの隣に、"Render Result" や、マルチレイヤ Image の内容もすばやくブラウズできるメニューが表示されるようになりました。[N]キーの Properties パネルでもすべてのオプションを見ることができます。
また、新しい再生アイコン(Movie や Sequence Image 用)もあります。ただし、最初に Properties パネルを使用してフレーム範囲を指定してやる必要があります。
もし Image にペイントする場合、Lock(鍵)アイコンボタンを押すと、Compositor にペイント中、イベントを送りつづけます。
Composite Viewer のフリップブック再生
Composite Viewer Image の Properties パネルには、再生用にキャッシュ(Cache)するオプションがあります。"Record" ボタンは RenderLayer ノードの再レンダリングを除く Composite を完全に実行します。
再生ボタン([Alt]+{A})は、アニメーションを再生します。
キャッシュはメモリを消費することに注意して下さい!
その他のオプション!
Paint ツール
Paint が以下をサポートするようになりました。
- Sequence Image のペイント
- マルチレイヤ Image のペイント(マルチレイヤ Sequence 以外)
- Pack された Image のペイント(Pack されたマルチレイヤの Image 以外)
ファイルの Pack
- マルチレイヤ Image が Pack 可能に
- プロシージャル Image(UV test grid) が(PNG で)Pack 可能に
- ペイント後やベイキング後などに Image を再 Pack 可能に。PNG のみ再 Pack 可能です。'Pack' アイコンが青になって Pack されたファイルが変更されたことを告げ、再 Pack が可能となります。
- 新しい Pack 解除オプション:"Remove Pack" は、Pack されたファイルがその瞬間から保存されなくなります。
Image ファイルの保存
- "Save As" を Image Window で使用した時、ヘッダのメニューでファイルフォーマットの表示と変更が可能になります。(注:まだ、SceneButtons で設定された圧縮クオリティ(Compression Quality)を使用します)。
- 新オプション:"Save Changed Images"。ペイントされたすべての Image を保存します。
Image Window
- [J]キー(Spare 画像表示との切り替え)が、Image Window でも動作するように。Composite 編集時も同様です。
- 左マウスボタンによるスポイト機能で、浮動小数点数画像の4チャネル以内の正確な情報が表示されるように。
Composite
- ホットキー[E]が変更されたノードの実行もするように。
- Compositor の最適化。Image ノードタイプでないものを無視します。
- Image ノード上でクリックすると、Image Window で表示されるように(Image Viewer に表示されていない場合)。
- RenderLayer ノード上でクリックすると、SceneButtonsにアクティブレイヤが設定されるように。
TimeLine Window
- 新オプション:Image Window の再生(Playback)。
3DWindow の Background Image
- アニメーションする Background のために、Texture を使用するような不格好な回避策がなくなりました。古い blend ファイルを読み込む時には、もう一度 Background Image を作成する必要があります。
メモリの使用に関する注意
- Image のアニメーション再生使用時、すべてのフレーム用にメモリを確保するため、すぐに最大メモリ量に達する可能性があります。
- レンダリング毎に、Image キャッシュ内の使用されていない画像が削除されます。
- Todo: "Sequencer キャッシュリミッタ" の使用の検討。
コードリファクタリングノート
- blenkernel/BKE_image.h が、Image に対する動作用の、完全に新しい API を持つように。
- 最も注目すべき変更:Image の次の、"ImageUser" の導入。
- MipMap の格納と計算を ImBuf へ移動。
- ImBuf float 画像に、チャネル数も格納するように。これは Paint 以外の ImBuf の float オプションについては完了していません。
- マルチレイヤの読み書きの再コーディング。もう、以前の "Save Buffer" テンポラリファイルが読めなくなりました。OpenEXR とともに、私たちはマルチレイヤフォーマットファイルの標準化について話し合っています。
- 残念ながら、OpenEXR のチャネル名は32文字までです…よって Blender ではレイヤ名が最大19文字、Pass 名が10文字となっています。
- PythonAPI には若干問題があるようです…重要な変更点について、コード内に記述しています。誰かがこれをたどってくれますように。
- イベントキューのストレージがイベントの重複を無視するよう変更。フリップブック再生や[Alt]+[A]の再生によるメモリの問題が解決されるでしょう。
- バグ修正:非常に古い、'Full Window' にしたり、元に戻したりする時に起こる、メモリに関する問題を見つけました。
- FileSelect の使用方法を変更、3つのタイプのコールバック関数が使用可能に。これはグローバル変数による害(と、バグの解決)を廃絶するのに必要です。
元記事:blender.org - Imaging
投票数:53
平均点:10.00
Blender2.43 ウォークサイクルの変形 |
Blender機能別 |
Blender2.43 レンダーPass |
ログイン
クイックリンク
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