Dev:JA/Ref/Release Notes/2.91/IO
元記事:Reference/Release Notes/2.91/IO - Blender Developer Wiki
Blender 2.91: 入出力とオーバーライド
Alembic と USD
Alembic と USD Export: 非表示オブジェクト
Alembic と USD エクスポーターが、非表示オブジェクトのエクスポートに対応しました(Alembic: a95f8635967、USD: 108f3284a73)。両エクスポーターは 'visibility' プロパティを書き込むようになり、オブジェクトの表示・非表示を反映します。
これは3Dビューポートの表示設定ではなく、Global Viewport Visibility (USD) と Render Visibility (USD & Alembic)プロパティを使用していることに注意してください。フォーマットの違いにより、エクスポートするファイル内の、プロパティを書き込む位置は Alembic と USD とで違います。
- Alembic は "hidden"、"inherited"、"visible" に対応しています。Blender はレンダーモードのオブジェクトの可視性により、"hidden" または "visible" のみ書き込みます。このプロパティは、Alembic ファイルの XForm に書き込まれます。
- USD は "hidden" と "inherited" のみ対応しています。非表示オブジェクトの子も常に hidden になります。Blender が非表示の親と非表示でない子に対応しているため、USD ファイル内ではこの可視性のプロパティは transform ノードではなく、geometry ノードに書き込まれます。
Alembic Export: インスタンス
Alembic エクスポーターが重複するオブジェクトデータを Alembic instances として書き込むようになりました(b3759cc0d67)。これはオブジェクトがインスタンスである場合、例えば、パーティクルシステムや複製システム(コレクションの複製エンプティや、頂点・面複製(Dupli~)など)で使用されます。
このインスタンス対応はオブジェクトデータのみインスタンス化され、全トランスフォームは明示的に書き込まれるという意味においては、まだ限定的な物です。
Blender の Alembic インポーターはこれらの Alembic インスタンスをまだ処理できないため、インポート時にデータを適切に複製します。USD の Alembic プラグインはインスタンス化処理の解釈に問題があると思われ、他のソフトウェアも同様の問題を抱えているようです。このため、インスタンス化はエクスポーターで OFF にできます(デフォルトでは ON)。
Alembic Export: カスタムプロパティ
Alembic エクスポーターが、Blender のカスタムプロパティを出力できるようになりました(ee97add4c40)。カスタムプロパティのエクスポートはデフォルトで有効になっており、オプションから無効化が可能です。以下のカスタムプロパティタイプに対応しています。
- 数値(
int
、float
)と文字列。これらは単一要素の配列としてエクスポートされ、例えば、47
は Alembic に[47]
とエクスポートされ、"Agent"
は["Agent"]
となります。これは他の DCC(Digital Content Creation)ツールの挙動と合致しています。
- 数値や文字列のリスト。これらは例えば
[327, 47]
は[327, 47]
と、そのままエクスポートされます。
- 行列と入れ子の数値配列。これらは一つの長いリストに展開され、例えば3×2の数値行列の場合、6個の数値のリストになります。同様に入れ子のリスト(例:
[[1, 2, 3], [4, 5], [6]]
)も、[1, 2, 3, 4, 5, 6]
とエクスポートされます。
- 数値は(Blender 同様に)アニメーション可能です。
上記のアニメーションありなしの両方を含んだサンプルファイルです:ファイル:Blender2.91 alembic custom properties.abc.zip
Alembic Import: 頂点の補間
Alembic には特定の時間のキーのメッシュサンプルが格納されています。Blender 内のあるフレームを、二つのサンプル間のあるタイムコードにマップした場合、Blender はそのメッシュの頂点の位置を補間します。
この補間はメッシュが一定の構造を持つ時のみ行われますが、時々、メッシュの要素の数は同じでも、頂点の順番が変わってしまった時に正しく探知されないことがあります。この場合、そのメッシュの頂点がごちゃ混ぜの状態になる可能性があります(T71981)。
そのため、オブジェクト毎に頂点の補間の無効化が可能になりました。
Alembic Import: 静的メッシュ上での頂点カラーアニメーション
メッシュが不変の場合、頂点カラーのアニメーションのチェックをしていおらず、MeshSequenceCache(メッシュ連番キャッシュ)モディファイアーの生成をスキップしていました。現在は対応しています(T81330、rB449e6124b5f7)。
Library Overrides(ライブラリオーバーライド)
- 'Resync'(再同期)の操作がアウトライナーに追加されました(ライブラリの .blend ファイル内の ID 間の関係が変更された時、オーバーライドを再生成するため)。rBaeaf2b0dd437f.
- 'Delete'(削除)とリンクデータへの再リンク操作がアウトライナーに追加されました(オーバーライド階層を完全に除去し、代わりにライブラリリンク中のデータブロックにユーザーを再リンクするため)。rB4aa04b64904b.
- Python 定義の IDProp ベースの RNA のコレクションへのアイテム挿入に対応。(T79562、rBdb314ee7a472、rB9756c6672046、rB86c5d1f4aa07)
- Proxy(プロキシ)をライブラリオーバーライドに変換するオペレーターを追加。(rBc3a0618fbfff)
- オーバーライド可能なデータが増えました。
- アーマチュアデータ
ライブラリのリンク
- Link(リンク)と Append(アペンド)が、メッシュやカーブなどのオブジェクトデータに直接リンクした場合、オブジェクトを生成するように。rB748deced1c7b
インポータ―アドオン内のシェーディング処理
この変更は、古い「固定の」シェーディングタイプからモダンなノードによるシェーディングタイプに変換するために Blender 提供のノードシェーダーラッパーを使用しているアドオンすべてに影響する可能性があります(OBJ、FBX IO も含む)。
- 透過情報の入力として使用されているテクスチャが、もう自身のカラー出力ではなく、リンク中の BSDF シェーダーを通じてアルファを出力するようになりました。(rB0696eaa3e84e9)
ファイル読み込み
- 昔の大きいファイルの読み込みの高速化。(rB6374644fd117)