MRが楽しい

MRやVRについて学習したことを書き残す

Blender3.0で利用可能なpythonスクリプトを作る その107(アクションデータ内のデータパスを参照する)

本日は Blender の技術調査枠です。
Blender3.0で利用可能なpythonスクリプトを作ります。

アクションデータ内のデータパスを参照する

アクションデータにはアクションの動きを示すカーブデータが含まれています。
カーブデータはデータパス名とインデックスごとに保持されています。
docs.blender.org

サンプルスクリプト

スクリプトを実行すると指定したアクション内に含まれる全てのデータパス名が標準出力されます。
・Script_show_fcurvelist_datapath.py

# bpyインポート
import bpy

# 指定アクションに含まれる全カーブのデータパス名を表示する
def show_fcurvelist_datapath(arg_actionname:str) -> bool:
    """指定アクションに含まれる全カーブのデータパス名を表示する

    Keyword Arguments:
        arg_actionname {str} -- 指定文字列

    Returns:
        bool -- 実行成否
    """

    # 指定名のアクションを取得する
    target_action = bpy.data.actions.get(arg_actionname)    
    if target_action == None:
        return False

    # アクション内の全アクションカーブを走査する
    for fcurve in target_action.fcurves:
        # アクションカーブのデータパス名を標準出力する
        # Fcurveアクセスのマニュアル
        # (https://docs.blender.org/api/current/bpy.types.FCurve.html)
        print(fcurve.data_path)

    return True

# 関数の実行例
show_fcurvelist_datapath("Action_Wait")

f:id:bluebirdofoz:20220305024747j:plain