見出し画像

blender、ジオメトリーノード内の 'Value' の値をpythonからコントロールする関数

import bpy

def set_scale_value(node_tree_name, scale_value):
    """
    ジオメトリーノード内の 'Value' ノードのスケール値を設定。
    
    Args:
        node_tree_name (str): ジオメトリーノードグループの名前。
        scale_value (float): 設定するスケール値。
    """
    # ノードツリーを取得
    node_tree = bpy.data.node_groups.get(node_tree_name)
    if not node_tree:
        print(f"ノードグループ '{node_tree_name}' が見つかりません。")
        return

    # ノードを検索
    value_node = None
    for node in node_tree.nodes:
        if node.type == 'VALUE':  # 'Value' ノード
            value_node = node
            break

    if value_node:
        # 値を設定
        value_node.outputs[0].default_value = scale_value
        print(f"'{node_tree_name}' 内の 'Value' ノードのスケール値を {scale_value} に設定しました。")
    else:
        print(f"'{node_tree_name}' 内に 'Value' ノードが見つかりません。")

set_scale_value("test_monky", 3.0)

いいなと思ったら応援しよう!