カメラを滑らかに走らせる(2026.6 改稿)

記事内の略語は以下のとおりです。戻る   デジタル降魔録へ   次へ

前回は円形パスを利用して、カメラを円運動させることでオブジェクトの周囲から見た映像を作りました。今回は、カメラを自由に動かして撮影しつつ、視点を滑らかにコントロールする実践的なテクニックです。
 実現するには、スプラインパスの操作も必須ですが、これまで以上にモーションパスの操作も重要になってきます。


【モーションパスの曲線化】


 モーションパスについては AEでも散々やってきていると思いますが、オブジェクトの動きを軌跡として目で見える形にしたもので、その形をなめらかな曲線に変えると動きも円を描くようにスムーズな動きになります。

 C4d Lのような 3D空間を扱うものでも、キーフレームを打てばモーションパスが表示されます。まずは、モーションパスを曲線化する方法を練習します。

学校の理科室の中を黒板に向いたカメラが、部屋の後部へ後退りしたあと、左へ平行移動、そして今度は黒板の前に置いてある丸底コフラスコ目掛けて移動する、というカメラワークを題材に説明します。

 上の画像を見てください。
 オブジェクトマネージャにはカメラとカメラターゲット、そして理科室内のたくさんのオブジェクトがまとめて『室内』というヌルに入れてあります。
 カメラには先ほどの説明のとおりに動くようにすでにキーフレームを打ってあり、4面ビューには(透視ビュー以外)には、オブジェクトマネージャの【カメラ】オブジェクトを選択すると表示される黒い線が出ています。これがキーフレームのモーションパスで、①②がその方向が変わる点です。
 教室の後ろに移動して左へ折れ曲がり、再び前方へ移動しているのがよく分かります。

 透視ビューに映っているる画像はカメラから見た映像ですので、モーションパスは見えていません。

モーションパスの操作は必ずこの 4面ビューを使います

慣れるまでは見づらいので、つい透視ビュー、AEでいう "アクティブビュー" を見て操作しがちですが、クオリティの高いものを作るには、この 4つのビューを見ながら作るのが基本です。


 そしてタイムラインでの①と②はこうなっています。

上の画像ではタイムラインの【ドープシート】が映っている状態です。丸印で囲ってあるアイコンで【Fカーブ】パネルに切り替えることもできます。Fカーブパネルというのは AEではキーフレームのグラフエディタと呼ばれています。


【ビューポートとタイムラインの違い】

ビューポートの上面ビュー(真上から見た状態)ではX方向(左右)と Z方向(奥行)が、前面ビュー(真正面)でY方向(上下)と X方向、右面ビューからは Yと Z方向の距離や位置を知ることができます。

モーションパスを変形させるということは、空間内のカメラの動くコースを変えることになります。

タイムラインのドープシートパネルに並ぶキーフレームの位置により、その点への到着時間が決まります。

実際のタイムラインの【ドープシート】を見てみますと、映像の初めは 1秒間(30フレーム)停止しており、その後 30フレーム(1秒)から、教室の後ろへ 270フレーム(9秒)掛けて移動して、約120フレーム掛けて左へ移動。そして 黒板に向かって進み、 690フレーム目で停止です。 トータル 23秒(30fps)の映像となっています。

 タイムラインを【ドープシート】から【Fカーブパネル】に切り替えますとキーフレームの変化点周囲のスピードとその持続力の状態が分かります。

 Fカーブに関しては少々ややこしいので後述します。一気に詰め込むと情報過多で脳みそがパンクしますから、今はビューポートとドープシートの役割をしっかり理解しておいてください。


 このままの動きを画像ビューワーへレンダリングしますとこうなります。

モーションパスが角ばっているために、動きもなんとなく機械的です。左へ曲がったり、再び前進するときに起きる角ばった動きが嫌ですね。そこで、モーションパスを滑らかにカーブを描いた線にするとずいぶんきれいになります。もちろん C4d Lでも、モーションパスを曲線にすることができます。

 AEと異なるのは、モーションパスをベジェパスに変更しても、まだ奥深いところに何かしらの制限があるようで、ベジェハンドルが出たりでなかったりします。
 ワタシの調べたところによると Fカーブパネルでハンドルの角度を変えると、出ることがわかりました。

 そのためには、まず、Fカーブパネルで【X,Y,Z】のキーフレームのポイントを操作することを知らなければ、3D空間での方向と時間の関係が理解できません。ぜひ Fカーブパネルで、その様子をご覧になってください。

 次の画像左上にある『緑矢印』が指すアイコンを押すと、Fカーブパネルに切り替わります。AEのグラフエディタとよく似ています。

カメラのモーションパスが示す最初の "曲がり角" ①と、次の曲がり角 ②の点の【X,Y,Z】を選択していますので、二つの白い矢印が付いたハンドルが、各点から出ています。

 AEの場合と同じで、ハンドルの長さと角度で、このキーフレーム(変化点)に入るスピードとそこから出ていくときのスピードと、その速度の "タメ(溜め:粘り強さ)" を調整します。
 もし、長さは変わるが、角度が変わらないときは、キーフレームを右クリックして次の二点をチェックしてください。

【接線角度を固定】になっていないか

【固定】になっていないか

どちらもメニューに薄青い色が付いているときがオンです。


 初めのころはハンドルの角度と長さの意味が、なかなか理解できませんでした。英語ではイーズと呼ばれるものです。
 ちなみにここで出てくる "速度" は物理で出てくる空間的な移動方向とスピードがセットになったベクトルの速度ではありません。時間軸における "変化の配分(ペース)" になります。

 余計な情報が入ってさらに混乱度が増したかもしれませんが、このハンドルの長さと角度の説明を文章化するのがなかなか難しくて悩みどころです。何か他の例えで表現しますと、

-ハンドルの長さ-

① 最初に決めたスピードをどこまで維持するか。(タメる・溜める)
② いまのスピードをしばらく粘る。我慢する
③ 加速・減速
④ 余韻
 長く伸ばすほど、速度を上げるのを我慢してトロトロと動き、あるところから一気にギューンと速度アップしていくイメージです。AEでもお馴染みの効果ですね。

 この説明で忘れてはいけないことがあります。
 ハンドルを延ばしてゆっくりにするということは、そこで時間を消費することになります。でも、行きつく次のキーフレームまでの時間は決められています。そのために残りの時間でたどり着くために、スピードアップして時間の辻褄を合わせます。ですのであまり無理なことをすると、行き過ぎてまた戻ってくるというオーバーシュートが発生します。これも AEで経験済みの現象ですね。

-ハンドルの角度-

① スピード
② 斜面の角度みたいなもの(0°なら止まっているか等速中。45°なら結構速い。90°だと理論上の無限の最大速度)
③ アクセルの踏み具合

 書けば書くほど混乱しそうですが、この二つの調整をしてメリハリのあるリアルな動きを作ることができます。最初はぐっと低速で、あるところから角度に伴ったスピードにまで一気に加速そして急減速、ゆっくりと到着。こんな感じです。

 C4d Lは AEと異なっていて、【X,Y,Z】バラバラに調整できますので、文章では理解しづらいです。そこで、曲がり角(かど)②の Xキーフレームのハンドル角を変えたときどうなるのか、4面ビューの動きを映像にしました。

水平になっている Fカーブのハンドルを上下に角度を変えると、角ばっていた ②部分が、曲線に変わっています。また、右クリックして【角度をゼロに(接線)】を実行すると、Fカーブのハンドルは、もとの水平な角度に戻ります。意図しない角度に曲がってしまった場合は、この方法で水平に戻せることを覚えておいてください。

 いまの映像を見て再び混乱の波が押し寄せてきたかもしれません。たぶんこう思ったのでは――、

なぜ X軸のハンドルをいじっただけなのに、Z軸まで影響してモーションパスが曲がってしまうのか?

これは、ハンドルの長さを極端にのばすと起きる現象、オーバーシュートになってしまうのと同じ理由でです。それが 3次元空間で起きたのです。

 これをわかりやすく "竹のしなり" で例えてみます。

 長さが決まっている「しなる竹の板」を想像してください。この竹の両端を、手で持ってギュッと内側に押しつぶそうとすると、竹はどうなるでしょうか?
 まっすぐ潰れるのではなく、横方向(逃げやすい方向)へグイっと丸くしなって曲がります。

 いまの Fカーブで起きているのも、これと全く同じ現象です。
 到着時間と、到着場所はキーフレームで定められています。そのなかで、X軸のハンドルを強引に傾けて速度を変更した結果、行き場を失ったアニメーションのデータが逃げ場を求めて、動ける方向へと「竹のしなり」のようにハミ出して、コースを丸く歪ませたからです。もともと Z軸方向にも動いていたため Y軸へは影響を与えず、XとZ軸に逃げた、つまりその速度で動くために距離を加減して、従来のコースを歪めることで辻褄合わせをした、ということになります。

 この方法でもモーションパスを曲げることはできますが、きれいなパスにするという使い方としてはお勧めしません。ただし、トリッキーな動きとして利用できますので、意外と効果的な結果を得ることもあります。

 実際にモーションパスを調整して丸みのある飛行コースに直していく過程を映像にしました。何らかの参考にどうぞ。





 さて、ここまではビューポートでキーフレームのモーションパスを調整する練習でした。これからが本番。もっと複雑な動きを作るときの話です。
 調整のしやすさや、飛行コースの変更を考えると、スプラインパスでルートを描いて、それに沿わして走らせるのがベストです。そのためにはここで説明した Fカーブのコントロール方法や、ビューポートでのベジェ曲線の操作が重要になりますので、よく慣れておいてください。


【パスに沿ってカメラを滑らかに走らせる】には軌跡となるスプラインパスを描くところから始まります。次の画像をごらんください。

これはカメラの飛行コースをシェイプパスで描いたところです。3つのビューのピンク矢印が示すところにあります。また、①の座標マネージャの "Yの数値" が『0』になっている意味ですが、上の画像ではスプラインのすべてのパスポイントが選択された状態で、Yが『0』、つまりすべてのポイントの高さがゼロで、水平面に広がっていることになります。
 スプラインパスを水平な平面にそろえる方法は【スプラインペンで歪まない真っ平な平面を作りたい】をご覧ください。

 理科室が描かれているとその様子が見えにくいため、非表示にした次の画像で説明します。

最初にやることはこの飛行コースを滑らかな曲線のパスにすることです。やり方これまでどおり、ベジェパスにしてハンドルを調整します。

 ベジェパスにするには、パスポイントを選択して、ポイントから離れた場所で右クリックします。ポイント上だと別のメニューが出ます。

このメニューにあるソフト補間を選ぶとベジェパスになります。それと、どうもうまく曲がらないときは、一旦ハード補間に戻してから、もう一度ソフト補間にすると自動的に適切な曲線にしてくれます。ここは覚えておくと便利です。

 ベジェハンドルの操作は AEやイラレと同じですが、何度も繰り返しますが C4d Lは 3Dを相手にします。そのためベジェの調整ハンドルも立体的に動きます。ここをしっかり考えていないといつまで経っても思ったとおりの曲線になりません。このような作業をするときは、『透視』ビュー以外のビューポートで作業します。『上面』『前面』『右面』のいずれかは、2つの方向しかいない 2次元の空間になっていますので、AEと同じ操作ができます。そこで今回は上面ビューで作業します。動ける範囲は X軸Y軸のみです。サクサクいけるでしょう。

 で、こうなりました。

高さがゼロで、すべてのポイントがきれいに並んでいます。


 続いて、スプラインパスの補間を均等にして、ポイントを28あたりにします。

スイープさせて立体物を作るときは、このスプラインパスのポイントを上げるほどに滑らかな物体が生成されますが、カメラのコースとしての道を作るときは、あまり大きな数値にすると、動きの計算に細かな誤差が生じて、カメラのブレが発生しますし、パソコンにも負荷がかかります。ワタシは 16~32までに抑えています。
 また、補間を【均等】にしないと曲線部分と直線部分でカメラの速度が速くなったり遅くなったりして見苦しい映像になります。



 基本的な『飛行パス』ができたら、実際にカメラを走らせて、どのように見えているのか確認しながらコースの完成を目指します。次はカメラの準備です。

 カメラオブジェクトから、ターゲットカメラを選び、カメラとカメラターゲットの二つをヌルに入れます。

 カメラとカメラターゲットの座標はすべてゼロにして初期化しておきます。このとき、カメラは下を向いてしまいますが、調整はあとで。ひとまずオブジェクトマネージャの様子はこのようになりました。

ヌルは『カメラヌル』という名前にしてあり、その下層階にカメラターゲットとカメラを入れてあります。カメラやターゲットカメラなどの詳しいことは【カメラ】をお読みください。
 カメラターゲットを外に置くパターンもありますが、この違いはこの後で比較していますのでそこをお読みください。現時点ではカメラと一緒に動かしたほうが、コースの様子がカメラで見られますので、コースの完成まではこのほうが都合がいいです。ターゲットを外に置いておくと、カメラはそっちへよそ見をしてしまい、コースの様子が見られないからです。


 続いて、『カメラヌル』を右クリックして『スプラインに沿う』タグを貼り付けます。


 前回の【ファンタジーな世界を作ろう(2)アニメーションとカメラワーク編】と同じで、パスに沿わせて走らせるのは『カメラ』ではなく、この『カメラヌル』です。

『カメラヌル』をパスに沿うことに利用すれば、カメラ自身の動きは自由にコントロールできます。そしてカメラヌルが走るコース(道)が先ほど作った『飛行パス』という名前を付けたスプラインパスです。ジェットコースターのレールと思ってください。自由に立体的な形を作ってやればそれに沿って、カメラを積んだ『カメラヌル』という台車が駆け抜けていきます。

 コースに沿ってカメラを動かすのは、このタグで決まりですが、撮影の仕方にいくつかの方法があります。

①『スプラインに沿う』タグの【接線方向を向く】にチェックを入れてカメラターゲットを使わずに走らせる

②【接線方向を向く】にチェックを "入れて" カメラターゲットを使って走らせる

③【接線方向を向く】にチェックを "入れず" にカメラターゲットだけを使って走らせる。

①と②の『接線方向を向く』にチェックを入れると、カメラの視線はパスの進行方向(流れ)に沿うようになります。ジェットコースターの先頭にカメラを固定したようなイメージで直観的に理解しやすいため、簡易的なカメラワークではよく使用されます。

 とりあえず、

①『スプラインに沿う』タグの【接線方向を向く】にチェックを入れてカメラターゲットを使わずに走らせる

これを実験してみましょう。
 もしご自分でもやってみようと思われるのでしたら、元に戻すのが困難になりますので、ここまでのプロジェクトを別名保存してから行ってください。

スプラインに沿う』を選択したらタグをクリック、属性マネージャーの【タグ】タブにある【パススプライン】に『飛行パス』を選択します。
 そして、タグの【接線方向を向く】にチェックを入れると、接線の流れにカメラの視線が向きます。
 これだけの操作でコースに沿って走りますが、欠点はレールとなるスプラインの挙動に敏感に反応してしまうことです。コースが曲がる瞬間や高低差がある部分に入ると、カメラも勢いよく首を振るため視界がぐるぐる回って、素人カメラの映像みたいになります。

 今回のような狭い空間(理科室みたいな)では、暴れまわる視点を押さえつけるために、カメラの角度にキーフレームを打って安定させようとしますが、おそらく残念な結果になると思います。参考のために、高低差のあるコースで走らせてみました。ご覧ください。

場合によってはこのパターンでも面白いですが、あまり好まれるものではありませんでした。




 では、先ほどの ①の実験で別名保存したプロジェクトを読み込で、『スプラインに沿う』タグを貼り付けるところへ戻します。

 残りの②と③の違いですが……。

②【接線方向を向く】にチェックを "入れて" カメラターゲットを使って走らせる

③【接線方向を向く】にチェックを "入れず" にカメラターゲットだけを使って走らせる。

この二つは『接線方向を向く』にチェックを入れるか、入れないかだけで、どちらにもカメラターゲットを使っています。

 ではカメラターゲットとは何でしょう。
 これは複雑なカメラワークを手助けしてくれるものです。AEでは 2ノードカメラと呼ばれています。こちらも詳しくは【カメラ】をご覧ください。

 簡単に説明しますと、メニューからターゲットカメラを選択すると、オブジェクトマネージャーにカメラと一緒に、『カメラターゲット』と名付けられたヌルができます。これはカメラの目標点(ターゲット))となるヌルでして、その瞬間からカメラはこのヌルのある場所を向きます。
 あとはこのヌルを動かすだけです。もちろんジェットコースターとなった台車に載ったカメラであっても、場所を移動しながらも、カメラの視点は常にこのターゲットを追いかけます。レールの挙動にカメラが振り回されても視線は動かず、とても安定したものになります。今回のような "カメラの揺れ" が映像のブレに直接つながるようなものには最適だと思います。

 そのカメラターゲットを台車に載せて一緒に走るのと、台車に載せずにコースの外に置くパターンがありますが、安定度とコントロールのしやすさは似たり寄ったりです。ただ、一緒に走るほうがともに移動するため、いつもカメラの近くにターゲットがありますから、比較的操作がしやすいように思えます。台車の外にあると、ジェットコースターに手を振る人へ、乗っている人がカメラを向けるようなもです。距離が遠くなると操作しにくくなることもあり、ここはケースバイケースではないでしょうか。

 次は、これらの違いを検証してみます。そのためにはまず、飛行パスが平坦なままでは単純すぎます。もう少し複雑にしたいのですが、カメラのコースを作るときはカメラからの映像を見ながら作るほうが、高低差やカーブのきつさなどが目で見て確認できますので、コースの完成と同時進行でカメラの設定もします。

スプラインに沿う』タグの属性マネージャにある【パススプライン】に『飛行パス』を選択します。

 すると、このようになります。

もしカメラが上の画像とは違う場所に動いた場合は、もう一度『カメラ』と『カメラターゲット』を選択して座標をすべて『0』に初期化すれば、上の画像と同じになるはずです。ちなみに、もう主従関係ができていますから、二つの角度は一部を除いて『0』にはなりません。

 次にカメラの初期位置での視点を作ります。
 透視ビューを『デフォルト』から『カメラ』に変えて、カメラ視点の映像に切り替えます。

切り替わったら、透視ビューに映る映像は『カメラ』が見た映像になります。注意することは、透視ビューをドラッグしたりして視点を変えるのは禁止です。なぜなら、これまでの透視ビューはデフォルトカメラが映していた画像だったため、自由な視点に変えることができました。ですが、『カメラ』に切り替えた瞬間から、その視点を変えるという操作は『カメラ』の向きを変えることになり、意図しない動きに変化します。

 焼き付いたクセはそう簡単には治らず、つい透視ビューを動かしてしまいます。一つの対策として、別のビューを出してそのビューを『カメラ』にすると、不慮の事故は防げると思います。第五のビューは透視ビューにあるビューメニューの【パネル】→【新規ビューパネル】で出ます。

 さて、続きです。
 理科室の全景を表示させて、カメラターゲットを前に移動させ、映り具合を確かめます。少し上を向くぐらいのほうが、飛行パスの揺れにカメラの視線が安定します。
 カメラはそのままカメラヌル(台車)と同じ動きをさせるために、その中心、X,Y,Z=(0,0,0)に置いておきます。


 カメラターゲットを調整して【透視】ビューをカメラの見た映像に切り替えた 4面ビューは次のようになります。

カメラの角度はカメラターゲットが握っていますから、もう『R.B』しか動きません。カメラターゲットを左右や上下に動かしてカメラの角度を変えます。


 これで必要な機材が全部そろいました。ここからは組み立て作業です。まずはカメラが映した映像を見ながら、レールとなる飛行パスを立体的な形にしてコースの完成を目指します。次の映像に作業工程をまとめました。ぜひご覧ください。




 次の検証に入る前に、スプラインパスに添わせるときの重要なポイントをまとめました。

【カメラを滑らかに走らせるノウハウ】

カメラが急にガタついたり不自然に揺れたりする原因は、パス上にある頂点(ポイント)を通過する瞬間にあります。
 カメラのブレを極限まで抑えるコツは、手動で頂点を細かく打つのではなく、最小限の頂点から伸びる『ベジェハンドル』を調整して、数式によって自動的に計算された美しいベジェ曲線でカメラを通過させるのが、最も滑らかに動きます。
 そしてもう一つの理由は、頂点が少ないほうが Fカーブでのハンドルの調整が圧倒的に楽になるからです。"頂点の多さはカメラのブレの数。頂点は少ないに限る" を覚えておいてください。

 また、映像がスタートした直後は、カメラを進行方向とは逆に向けて、視界が下がっていくようにしたのは、視点がグルんと回るのを少しでも減らすためです。最初から先頭を向けていますと、曲がり角に来るたびにカメラが首を振りますので、狭い室内ではなるべく控えたほうがいいのではないかと思ってのことでした。

では、残りの、

②【接線方向を向く】にチェックを "入れて" カメラターゲットを使って走らせる

③【接線方向を向く】にチェックを "入れずに" ……以下同文

入れるか、入れないかだけの違いです。

 まず最初はこれ……。

②【接線方向を向く】にチェックを "入れて" カメラターゲットを使って走らせる


接線方向を向く】にチェックを入れる前に注意することがあります。もしご自分でもやろうと思われたのなら、必ず、プロジェクトを別名保存してください。

 この保存は最も重要で、この先、『接線方向を向く』にチェック入れた途端、カメラがあっちの方向に向いてしまい、あわててチェックを外しても、なぜかアンドゥが利きません。さらには、『スプラインに沿う』タグがリンクしている、ここでは『飛行パス』ですが、その長さを変えると、各パスポイントの位置を通過するときの『スプライン上の位置』まで動きます。

 この理由は、『スプライン上の位置』というパラメータはパス全体の長さを「0%~100%」としたときの割合(パーセンテージ)で記憶しているからです。長さが変わると、同じ「50%」の地点であっても、3D空間上の実際の座標はまったく違う場所を指すことになります。パスの長さを後から調整するときは、この点に注意してください。
 そのようなことから、この保存は初期位置に戻せる最終手段です。


 では『接線方向を向く』にチェック入れて、カメラターゲットにキーフレームを打ってカメラの視線を動かした場合です。

カメラターゲットも一緒に動かすとカメラの視点も一緒に動くため、その調整が難しくなります。そうすると、"頂点の多さはカメラのブレの数。頂点は少ないに限る" の鉄則に反するので、ターゲットは外に置くことにしました。

 また、飛行パスが下降するときにカメラが傾くのは、カメラヌルが接線方向に向くため、下に傾きます。するとそれに載せられたカメラは接線方向から 90°右を向いていますので、左へ傾くわけです。



 それでは次です。

③【接線方向を向く】にチェックを "入れずに" カメラターゲットを使って走らせる

接線方向を向く】を使用しない場合の検証ですが、カメラターゲットをコースの外に置いた場合と、カメラと一緒に走らせた場合がありますので、両方で検証していみます。

 まずはカメラターゲットをコースの外に置いた場合です。

映像を見るとお分かりのように、コースの外にカメラターゲットがありますので、カメラと一緒に動きません。そのため、カメラの移動速度とカメラターゲットの移動が合わせにくく、映像の最後ではカメラターゲットが追いつかず、視界がフラスコからズレてしまいます。

 本来ならキーフレームのハンドル角を変えて調整するのですが、X,Y,Zの三方向からフラスコへ向かうため、あまりにシビアな調整でした。そこで三方向のハンドルを長く延ばすだけで済む簡単な方法をとりました。こうすると、カメラターゲットは最終位置のキーフレームへ非常にゆっくりと到着します。すると結果的に、それまでに急激に近づかざるを得なくなる、という逆の習性を利用して、うまく辻褄合わせができました。


 次はカメラターゲットも一緒に台車に載せて走らせる方法です。先に説明しますが、こちらのほうが最後のフラスコに到着するコントロールがしやすかったです。その理由はカメラターゲットが常にカメラの前方近くをうろうろしているため、簡単にフラスコへ誘導できたからです。
 これがその作成過程です。実際に正式にレンダリングした完成映像とあわせてご覧ください。



 カメラを滑らかに走らせる  おしまいTopへ

戻る   デジタル降魔録へ   次へ