
アニメーションⅠ・Ⅱ(アニメーションセットアップ)
■第6回目
●ドリブンキーの作成
ドリブン キーは、別のアトリビュートを使用してオブジェクトまたはアトリビュートのアニメーションを連動します。
ドライバ アトリビュートを変更すると、ドリブン アトリビュートの値も変わります。ドリブンキーの仕組みを作成することで、
ドライバ オブジェクトをアニメートすると自動的に行われるようになります。アニメーションを効率的にすることができます。

stage
ball
door
上の図のような3つのオブジェクトを配置します。オブジェクト名を変更します。

「アニメーション」のメニューセットに切り替えます。

オブジェクトを選択していない状態で、[キー]>[ドリブンキーの設定]>[設定□]を選択する。

「ドライバ」⇒駆動させる側
「ドリブン」⇒駆動する側
「ドリブンキーの設定」ウィンドウが表示される。ウィンドウの大きさは変更できる。
「ドライバ」と「ドリブン」を自転車で例えると、「ドライバ」がペダル、「ドリブン」がタイヤになり、
その間のチェーンがドリブンキーになる。

「ball」を選択して、[ドライバのロード]ボタンをクリック、
「door」を選択して「ドリブンのロード」をクリックして読み込む。

[ドライバ]⇒ballの「移動X」、[ドリブン]⇒doorの「移動Y」を選択する。

ballを移動する前に、最初の状態で「キー」ボタンをクリックする。

「ドリブンキーの設定」ウィンドウ内で、ドライバのballをクリックして選択する。
ビューでdoorのオブジェクトまで移動する。doorlオブジェクトを上に移動して、ballをよける。

途中の位置で2回目の「キー」ボタンをクリックする。

「ドリブンキーの設定」ウィンドウ内で、ドライバのballをクリックして選択する。
ビューでdoorを通り過ぎて、stageの端まで移動する。ドアを元の位置に戻す。

doorを元に戻した状態で、3回目の「キー」ボタンをクリックする。
これで、ドリブンキーの設定は完了する。

ballオブジェクトを選択して、X方向に移動する。doorが自動的に上下に移動する。
ballオブジェクトにキーフレームを設定する。キーやスピードを変更してもdoorにぶつからない。
●ドリブンキーの編集

ドリブンキーの削除や調整はグラフエディタで行うことができる。
横軸がドライバのチャンネル数値、縦軸がドリブンのチェンネル数値を示す。
doorオブジェクトを選択して、[ウィンドウ]>[アニメーションエディタ]>[グラフエディタ]を選択する。

両端のキー(ドアが閉じている)を中央に移動する。
[Shift]キーを押しながら、移動すると縦横のロックがかかる。
これによって、ballがdoorに近づいたらdoorが開いて、
ballがdoorを通りすぎ後、すぐにdoorが閉じるようになる。


ドリブンキーを削除するには、ドリブンのオブジェクトを選択して、チャンネルボックスから
ドリブンのチェンネルを選択して、右ボタンクリックから「接続の解除」を選択する。
または、グラフエディタでキーを削除する。
●ドリブンキーの演習 1

ドリブンキーを設定する前に、元の位置に戻せるようにしておく。

すべてのオブジェクトを選択して、[修正]>[トランスフォームのフリーズ](オプション)を選択する。

[編集]>[設定のリセット]を実行して、デフォルトの設定にして、トランスフォームのフリーズを実行する。

フリーズをかけたオブジェクトは初期化される。(移動XYZ⇒0、回転XYZ⇒0、スケールXYZ⇒1)

青いdoorは回転するので、ピボットポイントを設定する。[V]キーでスナップポイントを使う。

ballオブジェクトを選択してドライバに、door_01を選択してドリブンに読み込む。

ballがdoor_01の手前で、「キー」ボタンをクリックする。※「キー」ボタンをクリックするのを忘れないこと。

ballをdoor_01まで移動して、door_01を上に移動して、「キー」ボタンをクリックする。
※選択するのは、「ドリブンキーの設定」ウィンドウ内で、ドライバ(ball)、ドリブン(door)を選択すること。

ballを赤いドア(door_01)と緑のドア(door_02aとb)の間まで移動する。
※マニピュレータで移動してから、チェンネルボックスで数値を整える。
door_01を元の位置に戻して、「キー」ボタンをクリックする。

緑のドア(door_02aとdoor_02b)を選択して、ドリブンに読み込む。※ドライバはballの移動Zのまま。
ドリブンのdoor_02aとdoor_02bを選択して、チャンネルで移動Xを選択する。
※オブジェクトが2つ以上の場合は、選択しないとチェンネルが表示されない。

ballオブジェクトが緑のドア(door_02aとdoor_02b)の前で、[キー]ボタンをクリックする。

ballを緑のドアまで移動する。緑のドア(door_02aとdoor_02b)を左右に移動す る。
※プラスとマイナスで均等にする。
「キー」ボタンをクリックする。
※「キー」ボタンをクリックするときに、door_02aとdoor_02bが選択されていないといけない

ballを緑のドアと青のドアの中間くらいに移動して、door_02aとdoor_02bを元の位置に戻す。「キー」ボタンをクリックする。

青のドア(door_03aとdoor_03b)を選択して、ドリブンに読み込む。※ドライバはballの移動Zのまま。
ドリブンのdoor_03aとdoor_03bを選択して、チャンネルで回転Yを選択する。

ballオブジェクトが青のドア(door_03aとdoor_03b)の前で、[キー]ボタンをクリックする。

ballを青のドアまで移動する。青のドア(door_02aとdoor_02b)を左右に回転する。※プラスとマイナスで均等にする。
ballは青のドアを通り抜けた位置まで移動する。「キー」ボタンをクリックする。
※「キー」ボタンをクリックするときに、door_03aとdoor_03bが選択されていないといけない

ballを青のドアを通り越して、door_03aとdoor_03bを元に戻して、「キー」ボタンをクリックする。

ballオブジェクトを選択して、Z方向に移動して、3つのドアが自動的に動くかどうか確認する。
ballとdoorの2つのオブジェクトの間にドリブンキーを設定したが、1つのオブジェクトの中でも設定可能である。
ballの移動と回転にドリブンキーを設定する。

1グリッドを1として、ballの直径は2になる。ballが1回転すると円周の長さ分進むことになる。
円周率を「3.1415」として、円周の長さは「6.283」となる。
ballが1回転(360°)で進む長さは6.283が求めれる。これをドリブンキーに設定する。

ballオブジェクトを選択して、「ドライバ」と「ドリブン」に読み込む。
「ドライバ」では「移動Z」、「ドリブン」では「回転X」を選択する。
2つのチャンネルともに「0」で「キー」ボタンをクリックする。

ballオブジェクトの「移動Z」に「-6.283」を入力して、「回転X」に「-360」を入力する。
「キー」ボタンをクリックする。ballオブジェクトを移動して回転を確認する。
これで1周分だけ回転する。次にドリブンキーの延長を設定する。

ballオブジェクトを選択して、グラフエディタを開く。
ドリブンキーのグラフが曲線になっているので、スピードが変化している。

「スプライン接線」ボタンをクリックして、スプラインの場合、2点では直線になる。
傾きを持つ直線は等加速運動でスピードは変化しない。


ドリブンキーを延長するために、サイクルの設定を行う。
[カーブ]>[プリインフィニティ]>[リニア]
[カーブ]>[ポストインフィニティ]>[リニア]を選択する。
これで、無限にballは回転しながら移動するようになる。
●ドリブンキーの演習 2

コントローラを移動すると、階層構造が連動して動く仕組みをドリブンキーを使用して作成する。



ドリブンキーの設定で、ミスを予防するために、チャンネルのロックを行う。
「all_controller」を選択して、チャンネルボックスで、「移動Y」と「可視性」を除いたチャンネルを選択する。
右ボタンクリックで、「選択項目のロック」を選択する。これで「移動Y」しか編集できなくなる。
※ロックを解除する場合は、チャンネルを選択し、右ボタンクリックで「選択項目のロック解除」を選択する。


ドリブンキーの設定で、ドライバやドリブンにロードした場合、ロックしたチャンネルは表示されない。

アウトライナで、グループ「ALL」を[Shiftキー]を押しながら、全展開する。



グループ「R_01」「R_02」「L_01」「L_02」を選択する。
チャンネルボックスから「回転Y」を除いて、「選択項目のロック」を実行する。



グループ「down_01」「down_02」「up_01」「up_02」を選択する。
チャンネルボックスから「回転X」を除いて、「選択項目のロック」を実行する。
●パート1(RとLグループ)


「all_controller」をドライバに、「R_01」と「L_01」をドリブンにロードする。
ドライバは「移動Y」、ドリブンは「回転Y」を選択して、「キー」ボタンをクリックする。
※ドリブンが2つある場合は、選択しないと、チャンネルは表示されない。

ドライバを選択して、チャンネルボックスから「移動Y」を「1」に変更する。



ドリブンから「R_01」を選択して、ビューで回転する。「回転Y」を「-180」に設定する。


ドリブンから「R_02」を選択して、ビューで回転する。「回転Y」を「180」に設定する。

ドライバは「移動Y」、ドリブンは「回転Y」が選択しているのを確認して、「キー」ボタンをクリックする。


「all_contoroller」の「移動Y」を「1」に設定する。
「R_02」と「L_02」をドリブンにロードして、「回転Y」を選択して、「キー」ボタンをクリックする。

ドライバを選択して、チャンネルボックスから「移動Y」を「2」に変更する。


ドリブンから「R_02」を選択して、ビューで回転する。「回転Y」を「180」に設定する。


ドリブンから「L_02」を選択して、ビューで回転する。「回転Y」を「-180」に設定する。

ドライバは「移動Y」、ドリブンは「回転Y」が選択しているのを確認して、「キー」ボタンをクリックする。


「all_contoroller」の「移動Y」を「2」に設定する。
「down_01」をドリブンにロードして、「回転X」を選択して、「キー」ボタンをクリックする。
●パート2(downグループ)

ドライバを選択して、チャンネルボックスから「移動Y」を「3」に変更する。


ドリブンから「down_01」を選択して、ビューで回転する。「回転X」を「180」に設定する。

ドライバは「移動Y」、ドリブンは「回転X」が選択しているのを確認して、「キー」ボタンをクリックする。


「all_contoroller」の「移動Y」を「3」に設定する。
「down_02」をドリブンにロードして、「回転X」を選択して、「キー」ボタンをクリックする。

ドライバを選択して、チャンネルボックスから「移動Y」を「4」に変更する。


ドリブンから「down_02」を選択して、ビューで回転する。「回転X」を「-180」に設定する。

ドライ バは「移動Y」、ドリブンは「回転X」が選択しているのを確認して、「キー」ボタンをクリックする。
●パート3(upグループ)


「all_contoroller」の「移動Y」を「4」に設定する。
「up_01」をドリブンにロードして、「回転X」を選択して、「キー」ボタンをクリックする。

ドライバを選択して、チャンネルボックスから「移動Y」を「5」に変更する。


ドリブンから「up_01」を選択して、ビューで回転する。「回転X」を「-180」に設定する。

ドライ バは「移動Y」、ドリブンは「回転X」が選択しているのを確認して、「キー」ボタンをクリックする。


「all_contoroller」の「移動Y」を「5」に設定する。
「up_02」をドリブンにロードして、「回転X」を選択して、「キー」ボタンをクリックする。

ドライバを選択して、チャンネルボックスから「移動Y」を「6」に変更する。


ドリブンから「up_02」を選択して、ビューで回転する。「回転X」を「180」に設定する。

ドライバは「移動Y」、ドリブンは「回転X」が選択しているのを確認して、「キー」ボタンをクリックする。
これですべてのキ ューブが平面的になった。「all_contoroller」の「移動Y」が「0」から「6」でドリブンキーが稼働する。