1行のスクリプトであれば、テキストファイルにしなくてもドライバー設定メニューの式内で書くことができる。
テキストファイル内であれば、複数行のスクリプトを書きやすい。
もくじ
サンプルスクリプト
例として、アクティブオブジェクト名が「xx」なら1を返すスクリプトを作る。
def test(obj): if obj.name == "xx": return 1 else: return 0 return 1 bpy.app.driver_namespace["test"] = test
作った関数をdriver_namespaceで、登録する。
登録した名前をドライバー設定メニューの式にて呼び出す。
test(bpy.context.object)
注意点
今回はcontextを利用したが、contextのデータは状況によって常に変わるため、ドライバーとしては推奨されていないので注意。
スクリプトで返せる値は数値のみ。
サンプルコードは内蔵されている
内蔵されているサンプルファイルを見ることができる。
- テキストエディター > テンプレート > Python > driver_functions
ファイル読み込み時に実行
ファイルを読み込んだ時に毎回実行したい場合は、「登録」を有効にする。
- テキストエディター > テキスト > 登録