カメラを切り替えるための Camera Switcher について紹介する。
Switcher を使うことでカメラの切り替えを行ったシークエンスを一つのストリームとして扱うことが可能になる。
使用したビルド: 16.0.534
シーンファイルへのリンクは一番下にあり。
1. 元シーンの作成
- 背景峡谷の作成
- Rubber Toy の作成
- トーラスの作成
- パスカーブの作成
- curve_object1 と torus_object1 の Translate Y の値を 40程度にして谷底から上に移動。
- testgeometry_rubbertoy_object1 を選択、Constraints シェルフの Follow Path をクリック、(ネットワークエディタで) curve_object1 を選択、カーソルをビューポートに戻して Enter キーを押して選択を確定、さらに Enter キーを2度押して (Look at と Look Up をスキップ)、Rubber Toy がカーブに沿うようにする。
- testgeometry_rubbertoy_object1 を選択、ビューポートでスペース+G を押し、Rubber Toy の向きを確認。
- デフォルトでは進行方向とは逆を向いているはず。
- ネットワークビューで /obj/testgeometry_rubbertoy_object1/constraints/path を選択。
- Look At Axis を +Z に
- タイムラインの長さを 120 フレームに変更
- Position のエクスプレッションを
($FF-1)/120
とする。
$FF はフレーム番号を実数で定義する。これによりモーションブラーなどのサブフレームに対応可能。$F は整数。よってサブフレームに対応できない。 - ネットワークビューで /obj に戻り、torus_object1 を選択、ビューポートでスペースバー+G を押し、カメラがトーラス形状にフォーカスしている状態にする。タイムラインをスクラブして、描いたパスカーブがトーラスの中央を通り、Rubber Toy がトーラスの中をなんとなくくぐるような感じにする。
65フレーム目
2. カメラの作成
- 一つ目のカメラ (固定 cam1) 作成
- 二つ目のカメラ (追従 cam2) 作成
- testgeometry_rubbertoy_object1 を選択。ビューポートでスペースバー+G を押し、カメラが Rubber Toy にフォーカスしている状態にする。
- 上の状態からビューをY軸回転、Rubber Toy の後方から見ている状態で、Lights and Cameras シェルフの Camera ツールを Ctrl キーを押しながらクリック。
cam2 ができた。ただし、タイムラインをスクラブすれば、Rubber Toyだけが前進、カメラは置いて行かれる。 - cam2 の Keep Position When Parenting をオンに。ネットワークエディタで、testgeometry_rubbertoy_object1 の出力を cam2 の入力に接続。
再生すれば、cam2 は Rubber Toy に追従する。
このまままでは面白みに欠ける。 - cam2 のTranslate ラベル上で RMB->Motion FX->Noise を実行。別パネルに表示される Amplitude を 1 ぐらいに。再び再生するとカメラにノイズを元にした揺れが追加されたのがわかる。
揺れを弱くしたければ Amplitude をさらに低くする。
- 三つ目のカメラ (Look-at cam3) 作成
- 120 (最終)フレームに進み、testgeometry_rubbertoy_object1 を選択、ビューポートでスペースバー+G を押し、カメラが Rubber Toy にフォーカスさせ、さらにカメラ位置を調整してカメラが Rubber Toy と正体するようにしてLights and Cameras シェルフの Camera ツールを Ctrl キーを押しながらクリック。
cam3 ができた。 - cam3 を選択、Constraints シェルフから、Look At ツールをクリック、Rubber Toy を選択して Enter、もう一度 Enter を押して Look Up オブジェクト指定をスキップ。これで、cam3 は Rubber Toy3 の動きを捉えるようになった。
- 120 (最終)フレームに進み、testgeometry_rubbertoy_object1 を選択、ビューポートでスペースバー+G を押し、カメラが Rubber Toy にフォーカスさせ、さらにカメラ位置を調整してカメラが Rubber Toy と正体するようにしてLights and Cameras シェルフの Camera ツールを Ctrl キーを押しながらクリック。
3. Camera Switcher
設定したカメラを下記のように使いたいとする。
1 | 1 ~ 24 フレーム cam1 | ||||
2 | 25 ~ 48 フレーム cam2 | ||||
3 | 49 ~ 72 フレーム cam1 | ||||
4 | 73 ~ 96 フレーム cam2 | ||||
5 | 97 ~ 120 フレーム cam3 |
- ネットワークパネルで TAB-> Switcher を実行。作成された switcher1 に cam1, cam2, cam3 の順番に接続。
switcher1 の Switch Camera パラメータ 0が cam1、 1 が cam2、 2 が cam3 になる。 - ビューポートのカメラメニューを switcher1 に変更。
- 1フレーム目で Switch Camera の値を 0 (デフォルトのまま)に、ラベルを Alt+LMB クリック、キーフレームが設定される。
- 25フレーム目で Switch Camera の値を 1 に、ラベルを Alt+LMB クリック、キーフレームを設定。
- Switch Camera のラベルを Shift+LMB クリック、Animation Editor を表示する。
- エディタ上のキーフレーム2つをバウンディングボックス選択して、上の図の右の方、赤で囲われた Constant をクリック。
ステップカーブとなった。 - 49フレーム目に進み、左下、下記図で赤で囲われたところに 0 (cam1) を入力。Alt+LMB クリックすればキーフレームが設定される。
- 同じ要領で、73フレーム目に 1 を入力して Alt+LMB、97フレーム目で 2 を入力して Alt+LMB をクリックすれば下記のグラフになる。
- 一番上の左から3番目をクリックすれば、Dopesheet に切り替わるので、ここでタイミングを調整することも可能。
キーをクリックすれば、LMB で移動可能。
おまけ
Camera Switcher 機能は Houdini 16 からの機能ではなく初期の Prisms からある。一説によれば SideFx の現社長 Kim Davidson が当時の機能を書いたらしい。
- シーンファイル
- camera_switcher3.zip (152KB)
大変勉強になりました。ありがとうございます!
返信削除