dskjal
広告
広告

Blender のドライバー Tips

カテゴリ:blender

ドライバーでフレーム数を取得する

frame で現在フレームを取得できる。

frame

アクションの F-Curve を取得すれば1フレーム前の値を取得することもできる。以下の例では1フレーム前の X 位置を Y 位置に設定している。

set prev frame
1フレーム前の X 位置を Y 位置に設定

ドライバーの式を直接設定する

ドライバーを設定できるパラメータの頭に#をつけた式を入力すると、ドライバーが直接設定される。例えば回転のZに #noise.random() を入力するとランダム回転させられる。

frame と組み合わせる

python 式で frame と入力すると現在のフレーム数を取得できる。1回転して元に戻るような回転をさせたい時は「#2*pi*sin(frame/100)」と入力すればいい。

簡易まばたき

まばたきをコントロールするボーンの位置をランダムに動かせばまばたきもできる。まばたきをコントロールするボーンのZ位置を 10 %の確率で動かすには以下の式を入力する。

#1 if noise.random() < 0.1 else 0

ドライバーに自作関数を登録する

bpy.app.driver_namespace に関数を登録すれば、ドライバー式から自作関数を呼び出せる。

import bpy
import math

def my_sin(val:float) -> float:
    return math.sin(val)

bpy.app.driver_namespace['my_sin'] = my_sin
result
実行結果

バージョン 2.83.5 に登録されている関数・定数

「for f in bpy.app.driver_namespace: print(f)」で表示できる。

関連記事

Drivers

Dependency Graph passed to Drivers

Blender 記事の目次


広告
広告

カテゴリ