コードの登録方法

直前の履歴を登録

メニューアイテムを新規作成すると、<直前の履歴を登録>ボタンが生成されます。
何らかの操作をしたあとに、このボタンを実行すると、直前の履歴をボタンとして登録することができます。

‘bpy.data.xxx[xxx]’ を ‘bpy.context.xxx’ に自動変換 オプション

履歴を取得する際、常にアクティブなデータに対してコードが動作するように、履歴を書き換えします。

現在は下記のデータのみ対応しています。

  • objects各種
  • shape_keys
  • materials
  • particles

詳細

  • bpy.data.xxx[xxx]~ とは、Blender内の特定のデータです
  • bpy.context.xxx~とは、現在アクティブなデータであり、ユーザーの操作によって常に変わります
  • 常に特定のデータに対してコードが動作するようにしたい場合は、この設定をオフにしてください
  • “コマンド”タイプ・”プロパティ”タイプ・マクロでこのオプションを利用できます

例 : マテリアルノードのプロパティの変更

マテリアルノードのプロパティの変更を履歴をそのまま登録しても、常に特定のマテリアルでしか動作しません。
オプションは、アクティブなマテリアルで動作するように下記のように書き換えます。

元のコード

“Material.001”の”Principled BSDF”ノードのプロパティのメニューbpy.data.materials[“Material.001”].node_tree.nodes[“Principled BSDF”].inputs[4].default_value

オプションを有効化して修正されたコード

アクティブなマテリアルの”Principled BSDF”ノードのプロパティのメニューbpy.context.object.active_material.node_tree.nodes[“Principled BSDF”].inputs[4].default_value

「直前の履歴を登録」機能から取得できない場合

Blenderには、履歴には残らない動作があります。
その場合は、コードを直接入力して設定することができます。

コードをキーマップから検索する方法

  • Blenderの設定 → キーマップ → 名前やキーバインドからほしいキーを検索
  • キーの ▶ を開いて、コード名をコピー

メニューから直接コードを取得する方法

  • Blenderの設定 → インターフェイス → 表示 → 開発者オプションを有効化
  • ほしい機能のメニューを右クリックしてコンテキストメニューを表示
  • Pythonコマンドをコピー」をクリック

直前の履歴以外の履歴を取得する

直前の履歴以外の履歴を取得したい場合は、直接情報エディターの履歴からコピーします。

  • エディタータイプを、「情報」に切り替えると、Blenderの操作履歴が表示されます。この中から好きな履歴をコピーします