概要
Blenderのドライバーの使い方を紹介します。
ドライバーとは、あるオブジェクトのプロパティを別のオブジェクトから参照するしくみです。
ドライバーを使うとアニメーションの設定などが便利になります。
以降では具体例で説明します。
対象オブジェクト
下図のようなオブジェクトを用意してください。
- 車体(名前は
body
とします) - 前輪(名前は
tire_f
とします) - 後輪(名前は
tire_r
とします)
ここから、車体を動かした時に、自動的に車輪が回転する方法を説明します。
まず、前輪と後輪の親を車体にしましょう。前輪、後輪、車体の順に選択し、Ctrl + P
(ペアレント)のオブジェクトを選択します。
これにより車体を動かすと車輪も一緒に動きます。
ドライバーの設定
車体は、y軸の負の方向を向いているとします。ここでは、車体のy座標を使って、前輪のx軸を回転させます(回転させるべき軸はモデルによって異なります)。
まず、車体のy座標のドライバーを作成しコピーします。
- 車体を選択
-
N
(サイドバー)でサイドバーを表示し、アイテムタブを選択 - 位置Yで右クリックし「新規ドライバーとしてコピー」を選択
続いて前輪を選択し、サイドバーの回転Xの位置で右クリックし「ドライバーを貼り付け」を選択します。ドライバーを貼り付けると、下図のように紫色になります。
車体を動かしてみましょう。前輪が回転します。しかし、動きがゆっくりですし方向も逆回転です。
ドライバーの編集
ドライバーはスカラーの変数として使えます。
位置Yで「新規ドライバーとしてコピー」すると変数名はlocation
になります(変更も可能ですが、ここではそのまま使います)。
今回前輪の高さ(直径)は0.333mとします。このとき円周はπR = π/3
です。
また、ドライバーの値を設定する回転の値の単位は度でなくラジアンにしないといけません。
このことから、π/3
進んだら-2π
回転させる必要があります。
すなわち、location
だけ進んだら、回転は-6 * location
になります。
ドライバーの値を変えるには、前輪を選択して回転Xで右クリックし「ドライバーの編集」を選択します。下図のような画面が表示されます。
※ 「ドライバーの編集」を使うには、ドライバーが設定されている必要があります。
主な項目を見てみましょう。
- ドライブ対象プロパティ:対象オブジェクトとそのプロパティです。ここでは、対象オブジェクトが
tire_f
で、プロパティがXオイラー角回転ということがわかります。 - タイプ:ドライバーの値の種類です
- 入力値(「入力値を追加」の下の枠内)
- (項目なし):変数名(
location
が変数名) - プロパティ:変数の元になるオブジェクト
- パス:変数の値を表すもの。ここでは、オブジェクトの
location[1]
であるy座標になります。
- (項目なし):変数名(
これらのことから、車体(body
)のy座標(location[1]
)を、ドライバーのlocation
として使えることがわかります。
この状態では、前輪の回転Xの値としてlocation
が設定されています。値には式を設定できます。そのためには、タイプを「スクリプト型の式」に変えます。
変えると「式」という項目があるので、-6 * location
に変えます。下図のようになります。
※ 式にはPythonの式が書けます。
アニメーションをレンダリングして確認すると、下図のようにそれらしく前輪が回転しています。
後輪の設定
後輪も動かしてみましょう。
前輪の回転Xから「新規ドライバーとしてコピー」します。
後輪の回転Xに「ドライバーを貼り付け」します。
これで前輪と後輪が同じように回転します。
ちなみに、ドライバーを削除する場合は、対象を右クリックして「ドライバーを削除」を選びます。
パスアニメーション
ここまでは、車体がy軸の方向に動く場合の設定をしました。
ここからは、車体が何らかのパスに沿って動く場合の設定を説明します。
まずは、パスとなるカーブを作成しましょう。カーブの種類は何でもいいのですが、ここではベジエを作成してください。
作成したら、名前をpath
にして適当に編集してください。
車体、パスの順に選択し、Ctrl + P
(ペアレント)の「パス追従コンストレイント」を選びます。
車体のオブジェクトコンストレイントプロパティを以下のように設定します。「前方の軸」が-Y
に、「カーブに従う」がオンになっています。
※ コンストレイントの設定については、記事「Blenderで待ち行列」も参考にしてみてください。
上図のオフセットを0
から-100
にすることで、パス上を移動することになります。
したがって、下記の設定をすれば、パスアニメーションで車輪が動くことになります。
- 時刻を開始位置にします。オフセット上で
i
を押し、キーフレームを設定します。 - 時刻を終了位置にします。オフセットを
-100
にし、オフセット上でi
を押し、キーフレームを設定します。 - オフセットを右クリックし「新規ドライバーとしてコピー」します。
ドライバーの調整をしましょう。
メジャーなどを使ってパスの長さを推定してください。ここでは10mとします。
また、1m進んだら、-6になるようにします。
このことからドライバーには、「-6 * オフセット / -100 * 10」を設定します。
オフセットの変数はoffset
なので、ドライバーの編集で-6 * offset / -100 * 10
を指定します。
ドライバーを使った例の説明は以上です。
補足
車体が一定の速度で動くのであれば、ドライバーを使わずに別々に設定しても問題ありません。
しかし、車体の速度が一定でないならば、別々に設定するのは手間がかかりますし、間違いの元になります。
以上