Dev:JA/Ref/Release Notes/4.50/python api

提供: wiki
移動先: 案内検索

元記事:Python API - Blender Developer Documentation

Blender 4.5 LTS: Python API

互換性のなくなる変更

gpu

  • gpu.types.GPUShader コンストラクタが廃止予定になり、Blender 5.0で削除されます。変わりに gpu.shader.create_from_info() を使用してください。(9d06508837)
  • shader.program が廃止予定になり、つねに -1 を返すように。(3562433ae7)
  • GPUVertFormat.attr_add() 内での INT_TO_FLOAT の使用が非推奨に。これらを使用する属性はデータ転送前、またはシェーダー内部で明示的に float へ変換すべきです。(91627b3d47)
  • 4バイトに揃っていない頂点フォーマットの使用が非推奨に。これらの属性タイプは5.0では対応されなくなる予定です。(57d9c2c098)


ビデオシーケンサー

  • strips.new_effect() 関数の、エフェクトストリップの入力を指定するオプションパラメータの seq1seq2 が、input1input2 と呼ばれるように。(41781df1a6)


レンダーパス

  • scene.render.frame_path() は絶対失敗しない物として使用されてきましたが、今後はレンダー出力パスに、パステンプレート(英文)のエラー処理がある場合、失敗する可能性があります。

シェーダー

  • Bump(バンプ)と Displacement(ディスプレイスメント)ノードのデフォルト距離が変更されました。これらのノードを作成するインポーターは、同じ結果を得るにはこれらの値を1.0に設定する必要があるでしょう。(bb6a88b95d)


追加

ユーザーインターフェイス

  • KeyConfig.keymaps.find_match(keymap)
    他のキー設定のキーマップとマッチする物を探すのに便利な関数を追加。
    これは既存の find メソッドに複数の引数を渡す必要を回避します。(28126b83a5)
  • KeyMap.keymap_items.find_match(keymap, keymap_item)
    他のキーマップのキーマップアイテムの参照に対応するメソッドを追加しました。
    これにより、アドオンが元のキーマップエントリを("Reset to Default"(デフォルトにリセット)の使用で)維持しつつ、アドオン用のキーマップアイテムを定義するためのキーマップエディターをプリファレンスに表示できます。
    一般的に、アドオンが context.window_manager.keyconfigs.addon 内で作成したキーマップアイテムを参照するには、context.window_manager.keyconfigs.user のキーマップで find_match メソッドを呼ぶべきです。(4a6d687d53)
  • GIZMO_GT_button_2d Gizmo タイプの icon_value プロパティ
    カスタムアイコン値の使用に対応すべく、GIZMO_GT_button_2d Gizmo タイプに新しく icon_value プロパティを追加しました。これにより、(カスタムプレビューコレクションを通じて)ユーザー定義のアイコンを、またはマテリアルや画像のプレビューのように生成したアイコンを使用できます。(ec149a919a)

    このプロパティは新しい Python テンプレート内にもドキュメント化されており、Text Editor(テキストエディター)の Templates(テンプレート)メニュー→ Python → Gizmo Simple 2D にあります。(bcb343c597)

ウィンドウマネージャ

パイプラインと入出力

  • Mesh.calc_smooth_groups(use_bitflags=False, use_boundary_vertices_for_bitflags=False)

スムーズグループを計算する Mesh API が更新、オプションで境界の辺だけではなく、境界の頂点も考慮されるように。
これは他の DCC ツールやゲームエンジンなどで、法線をこのデータから正しく再計算してスムーズグループを生成するのに適した方法だと思われます。
詳細は PR#105516PR#135248をお読みください。(00de07f752)

blf

  • blf.bind_imbufblf.draw_buffer 関数による、画像バッファへの描画に対応しました。
with blf.bind_imbuf(font_id, imbuf):
    blf.draw_buffer(font_id, text)

(c3e5a35ecd)

bpy.app

  • bpy.app.build_options.image_webp に対応。(e94068e8d2)

imbuf

  • imbuf.load_from_buffer によるメモリからの画像読み込みに対応。(10e1aaf02c)

スカルプト

  • brush.asset_activate が、バックグラウンドモードでの使用中は読み込みをブロックするように。(898e6f3687)
  • sculpt.mask_by_color に、location パラメーターが付き、スクリプトから region 空間のマウス位置を指定してオペレーターを実行できるようになりました。(956a0fad80).

GeometrySet

  • 新しく GeometrySet API が追加、従来よりもっと直接的な方法でオブジェクトから評価済みジオメトリデータの取得できるようになりました。(29fddf4710)

ライト

新しい[ライト制御](https://developer.blender.org/docs/release_notes/4.5/rendering/#new-light-controls)。ネイティブで未対応のエクスポーターは下記のように変換可能です。

if object.type == 'LIGHT':
    light = object.data

    energy = light.energy * math.pow(2.0, light.exposure)
    if not light.normalize:
        energy *= light.area(matrix_world=object.matrix_world)

    color = light.color
    if light.use_temperature:
        temperature_color = light.temperature_color
        color[0] *= temperature_color[0]
        color[1] *= temperature_color[1]
        color[2] *= temperature_color[2]

ノード

  • 新しい NodeSocket.is_inactiveNodeSocket.is_icon_visible アクセサ。(fbb1204913).

グリースペンシル

グリースペンシルのページの Python APIの項をご覧ください。