Blender 5.0: コア

元記事:Core - Blender Developer Documentation

長くなったデータブロック名

データブロックの名前が最大255バイトまで可能になり、従来の63バイト制限から増加しました。

Blender 5.0で長い名前を使用する際に注意すべきことがいくつかあります。

  • Blender 4.5との互換性:

    • 5.0の blend ファイルを Blender 4.5で開く時、名前がカットされます。
    • Blender 4.5は長い名前のデータブロックへのリンクに未対応です。また、このようなデータブロックにリンクしている既存の5.0の blend ファイルを開く時も同様です。
  • ファイル名に関する Windows で起こりうる問題

    • Windows (NTFS) はファイル名に最大255文字しか対応していません。この制限は、生成されたファイル名の一部として長いデータブロック名を使用している場合、簡単に到達してしまいます。この問題はすでに従来からあるものですが、より一般的かつ視覚化されてしまいました。

(#137608PR#137196fdaaea6328)

パックデータ

リンクデータのパックは、Blender でのアセットワークフロー改善の重要な一部です。

パック中の ID はリンクデータ(編集不可)と見なされたままですが、現在の blend ファイル内に格納されています。つまり、

  • ライブラリデータが利用不可になることがない
  • ライブラリデータが更新されても変更されることがない

これらのパック中の ID は、blend ファイル内での重複が排除されます。例えば、あるショットファイルとその複数の依存ファイルがすべて同じユーティリティジオメトリノードを使用している場合、そのショットファイル内の単一のジオメトリノードのみになります。

同じ ID の複数のバージョンがある時(同じライブラリが別々の時間でリンクされ、その合間で変更が行われた時)は、複数の パック中 ID になります。

名前の衝突はこれらのパック中 ID が新しい 'archive'(アーカイブ)ライブラリタイプ(と名前空間)に格納することで回避しています。これらのライブラリは以下の特徴があります。

  • パック中 ID のみ格納
  • 「実際」のライブラリデータブロック、'archive parent'(アーカイブの親)により所有・管理

互換性の点では、パック中データを含む5.0以降の blend ファイルを Blender 4.5 LTS で開くと、パック中データは(アペンドされたかのように)通常のプレーンなローカルデータに変換されます。

詳細はこちらを参照してください:

blend ファイル内の巨大なバッファー

.blend ファイルフォーマットが巨大なバッファーに対応しました (59a759b98d)。これは例えば数億を超える頂点を持つメッシュの格納に必要です。まだこのような巨大なデータブロック対応が難しい Blender の部門があることに注意してください。

この変更は、ファイル内の各ブロックのヘッダー同様、ファイルヘッダーの構造にも影響します。そのため、.blend ファイルの解析するコードは更新が必要です。詳細は次のファイルを参照してください:ファイルヘッダーブロックヘッダー

Blender 4.5 LTSではこの新しいフォーマットで格納されたファイルの読み込みが可能ですが、さらに前のバージョンの Blender ではできません。

ロギング

オペレーターの報告やバックグラウンドレンダリングの進捗など、Blender の大半の部分で同じロギングシステムを使用しています。その出力フォーマットが変わり、ログレベルが簡単に操作できるようになりました。(#139451)

  • --log-level info は、出力量を控えめにした、すべての情報レベルのログメッセージを有効にします。制作中の問題のトラブルシューティング用に便利だと思われます。

    • --log-level debug は開発者用の追加の出力を提供します
    • --log-level trace はより詳細になります
  • --log-show-memory は、すべての行にメモリ消費量を表示します。

  • --log-show-source は、ソースコードの位置を表示します。

  • --log-list-categories は利用可能なカテゴリのフルリストを表示します。

出力例:

00:00.027  ghost.system     | Create Cocoa system
00:00.080  translation      | Locale en_NL used for translation
00:00.088  blend            | Read prefs: "/Users/blender/Library/Application Support/Blender/5.0/config/userpref.blend"
00:00.096  blend            | Read startup: "/Users/blender/Library/Application Support/Blender/5.0/config/startup.blend"
00:00.359  gpu.platform     | Using GPU "Apple M3 Max Metal API 1.2"
00:00.359  gpu.platform     | Using Backend "Metal"
00:01.041  cycles           | Added device "Apple M3 Max (GPU - 40 cores)" with id "METAL_Apple M3 Max (GPU - 40 cores)".
...
00:00.244  render           | Rendering single frame (frame 1)
00:00.245  render           | Start rendering: Scene, ViewLayer
00:00.245  render           | Engine: Cycles
00:26.799  render           | Mem: 2983M | Sample 1/16 
00:26.799  render           | Mem: 2983M | Sample 16/16
00:28.631  render           | Saved: '/tmp/0001.png'
00:28.631  render           | Time: 00:28.38 (Saving: 00:00.15)

一部のコマンドラインフラグは置き換えられました。

--debug-cycles --log cycles
--debug-ffmpeg --log video
--verbose --log-level [info|debug|trace]

ビッグエンディアン対応の終了

ビッグエンディアンのシステムでの Blender のビルドと、この種のビルドにより作成された blend ファイルの読み込み対応が終了しました。詳細は関連の告知を参照してください。

パステンプレート変数の追加

新しいパステンプレート変数が導入されました。(56d8c11304ドキュメント)

  • scene_name
  • camera_name
  • node_name
  • blend_name_lib
  • blend_dir
  • blend_dir_lib

GPU VSync用コマンドライン引数

--gpu-vsync コマンドライン引数が追加されました。多くの場合、これは設定の必要はありませんが、--gpu-vsync off を設定すると、フレームレートがディスプレイのリフレッシュレートを超える時にパフォーマンスの測定ができます。

(aafef977fb5540b9440a)

ノードグループ内のノード用カスタムプロパティ UI

「ユーザー定義」の ID プロパティ(カスタムプロパティ)ストレージからの「システム定義」の ID プロパティストレージの分離に伴い、ノード内のカスタムプロパティにアクセスする UI が Node Editor(ノードエディター)の Properties(プロパティ)の Node(ノード)タブ内に追加されました。(コミット)

新しいノードカスタムプロパティパネル
新しいノードカスタムプロパティパネル

IDProperty ストレージの変更の詳細は BPY リリースノートもチェックしてください。

その他

  • ドキュメント化されていなかった UNIX での TMP 環境変数が削除され、代わりに TMPDIR が使用されるように。(b07a1adf04)

  • blend ファイルの保存時の圧縮がデフォルトで有効になりました (PR#14617200dbb53131)。デフォルトで未圧縮の blend ファイルを保存したい方はユーザープリファレンスで設定の編集と保存を行う必要があります。


Blender Foundation の文書を翻訳、ライセンスは CC-BY-SA 4.0 Int にて公開