アプリケーションデータ
公式サイト:
Application Data | Blender Python API [Official]
サブモジュール
- Application Handlers (bpy.app.handlers)
- Application Translations (bpy.app.translations)
- Application Icons (bpy.app.icons)
- Application Timers (bpy.app.timers)
ハンドラ
- depsgraph_update_post
- depsgraph_update_pre
- frame_change_post
- frame_change_pre
- load_factory_preferences_post
- load_factory_startup_post
- load_post
- load_pre
- redo_post
- redo_pre
- render_cancel
- render_complete
- render_init
- render_post
- render_pre
- render_stats
- render_write
- save_post
- save_pre
- undo_post
- undo_pre
- version_update
- persistent
使い方
ハンドラを追加する。
bpy.app.handlers.load_post.append(my_load_handler)
Code language: Python (python)
ハンドラを削除する。
bpy.app.handlers.load_post.remove(my_load_handler)
Code language: Python (python)
ハンドラを再登録する。
if my_loada_handler in bpy.app.handlers.load_post:
bpy.app.handlers.load_post.remove(my_load_handler)
bpy.app.handlers.load_post.append(my_load_handler)
Code language: Python (python)
永続化ハンドラーを定義する。ハンドラーは通常、新しいファイルを読み込むと解放されるため、アドオンなどでハンドラーを登録する場合は、永続化ハンドラーを使用する。
from bpy.app.handlers import persistent
@persistent
def my_persistent_handler(scene):
print("Hello, Handler")
Code language: Python (python)
参考:
任意の値をレンダースタンプに表示する方法のメモ | ken26u のメモ
選択が変わった際のハンドラを試してみる | SAKAIDEN
Application Handlers | Blender Python API [Official]
How do I properly update an application handler? – Blender Stack Exchange
Call a function with parameters on a certain frame – Blender Stack Exchange
Keyframe on text body in Python? – Blender Stack Exchange
Updating text object in Blender 2.81 using Python – Blender Stack Exchange
handler script updates in viewport but not in render – Blender Stack Exchange
startup function working in addon – Blender Stack Exchange
コード:
毎フレーム更新するようなコード (satoyuichi) – GitHub Gist
Detection of Changes in Mesh Object (jirihnidek) – GitHub Gist
ドライバー名前空間 (driver_namespace)
ドキュメント:
Custom Function | Blender Manual [Official]
bpy.app.driver_namespace | Blender Python API [Official]
参考:
Drivers · zeffii/BlenderPythonRecipes Wiki – GitHub
Safely Manage Blender’s Handlers while Developing | oktomus
(Re-)Using custom Python scripts for drivers – Blender Artists Community
How do you remove a draw handler after it’s been added? – Blender Stack Exchange
Invalid Python expression when using driver with Python script – Blender Stack Exchange
debug_value
参考:
bpy.app.debug_value | Blender Python API [Official]
コード:
debug_value – BKE_global.h at a9c74a0cd0 – GitHub
Handler Manager
フォーラム: