bpy.msgbus.subscribe_rna将消息总线附加到特定RNA数据路径,以便在更改路径值时接收通知。
owner: Any - 用于检查RNA数据路径所属的对象。path: str - 表示要订阅的RNA数据路径。prop_type: str - 要订阅的属性类型,例如"FINISHED"或"VALUE"。args: Any - 传递给回调函数的参数,用于在订阅注册期间进行设置。返回消息总线的句柄。
import bpy
def callback(scene):
print("Scene {} changed!".format(scene.name))
# 订阅"Scene"RNA数据路径:
bpy.msgbus.subscribe_rna(
owner=bpy.types.Scene,
path="name",
prop_type="FINISHED",
args=None,
notify=callback,
)
# 修改场景名称,
# callback函数将被调用:
bpy.context.scene.name = "New Scene Name"
ValueError - 如果提供的owner参数不是bpy.types.ID的子类,则会引发此异常。