Skip to content

CINEMA 4D基礎 2: カメラとXPressoを追加する

題名 内容、及び関連する章 作成日/注記
052 カメラとXPressoを追加する グラデーション、ライブ選択、カメラ、ターゲットカメラ、カメラを切り替える、対称オブジェクト、MoGraph、スプラインに沿う、XPresso、シーンの整理 2014.4.20

Step 1

グラデーション

 次に、道路にセンターラインを引きます。センターラインを引くには、オブジェクトを重ねる方法と、テクスチャを貼る方法がありますが、ここではテクスチャを貼る方法について説明します。さらに、テクスチャを貼る方法にも二つあります。一つは、Photoshop等でビットマップ画像を作成し、それを貼る方法、もう一つは、CINEMA 4Dのシェーダを使って内部で生成する方法です。ここで、「テクスチャ」とは「模様」という意味です。

ビットマップ画像を使うと、簡単にリアルな絵を生成できます。しかし、ビットマップ画像を作る手間や、解像度の制限、変更が面倒、別ファイルが増える、など面倒な問題も発生します。

しかし、シェーダを使えばこのような問題は発生しません。ですから、簡単なテクスチャはシェーダで生成するようにしてください。

 

まず、新規マテリアルを作成し道路に適用します。これで、道路にはアスファルトとセンターラインの二種類のマテリアルが重ね塗りされた状態になります。ただし、この段階では道路の全面が白くなっているので、「センターライン」になっていません。

次に、センターラインを道路の中央部分だけに制限するため、「アルファ」チャンネルをチェックします。このアルファチャンネルはPhotohopのアルファチャンネルと同じ意味です。

次に、アルファチャンネルに「グラデーション」シェーダを適用します。グラデーションシェーダは、Photohopのグラデーション機能に似ていますが、遥かに強力です。

シェーダのプレビューをクリックすると、編集ウインドウが開きます。さらにグラデーションの左にある小さな三角形をクリックして内部を開きます。

次に、グラデーションの「補間」を「なし」にします。そして、右のマーカーを少し左に移動し、右端に白い線が見えるようにします。白い部分がセンターラインになります。

次に、センターラインのテクスチャタグを選択し、「オフセットU」の値を調整します。このUとVは、「縦と横」と考えて構いません。

ただし、道路の形状に沿って断面方向が縦、進行方向が横になります。

図052-1

Step 2

ライブ選択

 次に、道路に高低差を付けます。まず道路の右の「緑のチェック」をクリックすると、「赤のバツ」になり、道路が消えます。これは、オブジェクトの働きが一時停止したからです。もう一度クリックするとオブジェクトの働きが復活します。表示/非表示の機能に似ていますが、道路の中に入っていたスプラインの部品はちゃんと見えています。このように、オブジェクトの内部の部品を編集したい場合や、機能の確認をしたい場合、動作が重い場合等に、機能を一時停止します。表示/非表示やオブジェクトの状態は、属性マネージャの「基本」ページにも表示され、ここでアニメーションを付けることもできます。

 

次に、スプラインのポイントを選択します。円形オブジェクトを選択し、「ポイント」モードに切り替えてください。

ポイントの選択と移動は「移動」ツールでもできますが、ポイントがたくさんある場合は「ライブ選択」ツールを使った方が楽です。ライブ選択ツールに切り替えるとマウスポインタの周りに白い円が表示されますが、左クリックした状態でマウスホイールを回すとこの大きさを変更できます。

「Shift」キーを押しながら選択すると、選択を追加できます。「control」キーを押しながら選択すると、選択を解除できます。

ポイントを動かすときは、必ず軸の頭をつかむように注意してください。

スプラインを立体形状にすると、「ねじれ」の問題が発生します。ねじれの問題は非常に面倒で、いろいろな対策がありますが、ここでは単に水平になればいいので、「スイープ」の「バンク」オプションを外すことで対応します。

図052-2

Step 3

カメラ

 次に、カメラを追加します。今までは作業用のカメラでシーンを見ていましたが、作業用のカメラにはアニメーションを付けられないので、カメラを動かす場合は必ずオブジェクトカメラを追加してください。このカメラは自動車に乗せるので、名前を「車載カメラ」に変更し、自動車の子オブジェクトにします。次に、「新規ビューパネル」を出します、CINEMA 4Dはエディターを何枚でも表示でき、それぞれに別のカメラを割り当てられます。

最初の状態ではカメラが自動車の内部に入ってしまうため、少し、上と後ろに移動します。

カメラは間違って動かしやすいので、「ロック」タグで固定します。

図052-3

Step 4

ターゲットカメラ

 次に、ターゲットカメラを追加します。ターゲットカメラは、指定したオブジェクトを追いかけるカメラです。まず、ターゲットカメラを乗せるためのタワーを建てます。次に、ターゲットカメラをタワーの子オブジェクトにし、位置と角度の値を0にし、上に持ち上げます。名前は「タワーカメラ」に変更しておいてください。また、「cmd+/」を押すと、「reset_pos_rot」というスクリプトが実行され、簡単に位置と角度の値を0にできます。

エディタの「使用カメラ」を「タワーカメラ」に切り替えると、タワーカメラからのビューになります。

このカメラにもロックタグを付けますが、そのままだとカメラが完全に固定され、自動車を追いかけなくなります。そこで、「R(回転)」のロックだけ解除します。

図052-4

Step 5

カメラを切り替える

 次に、カメラを切り替えます。カメラの切り替え方法はちょっと混乱しているので注意してください。まず、オブジェクトマネージャでカメラの右にある黒いボタンをクリックすると白くなり、そのカメラからのビューに切り替わります。そして、選択されたカメラはビュー上で緑色になります。選択されていないカメラは白です。

これは、エディターの「使用カメラ」を切り替えるのと同じですが、実は切り替わるのは「このビューをレンダリング」がチェックされているメインウインドウだけです。エディターにはレンダリングに使用される「メイン」が一枚だけあり、それ以外は全て「サブ」なのです。

サブウインドウにリンクするカメラは、各ウインドウの「使用カメラ」で切り替えるしかありません。また、サブウインドウにリンクされたカメラのボタンは黒いままで、レンダリングには使われません。

次に、アニメーションの中でカメラを切り替える方法ですが、これも独特です。

他のオブジェクトのアニメーションはそのオブジェクトに直接付けますが、カメラの場合レンダリング用のカメラはシーンに1個しか置けないという制約があるので、「ステージ」という特殊なオブジェクトにリンクする形でアニメーションを付けます。

まず、ステージオブジェクトを作成し、「カメラ」フィールドにあるカメラをリンクし、キーを打ちます。

次に別の時間で別のカメラをリンクし、再度キーを打ちます。これでカメラを切り替えるアニメーションができました。

図052-5

Step 6

対称オブジェクト

 次に、道路の周囲にガードレールを付けます。こういう小さな部品を作るときは、新規シーンに移動した方が楽です。CINEMA 4Dでは、オブジェクトだけでなく子オブジェクトやマテリアル、アニメーションを含めて、コピーアンドペーストでシーン間を自由に移動できます。まず、ヌルオブジェクトを作成し「ガードレール」とします。次に、ガードレールの片側を作ります。サンプルでは円柱を使っていますが、何を使っても構いません。そして、X軸方向の位置を「25」にします。これは道路の幅が40なので、その少し外側という意味です。

次に、「対称」オブジェクトを追加します。対称オブジェクトは、キャラクターや自動車等、対称なオブジェクトを作る時によく使います。

ガードレールが完成したら、ガードレールをコピーし、ウインドウメニューの一番下にあるメニューから元のシーンに移動し、ペーストします。

図052-6

Step 7

MoGraph

 次に、MoGraphを使って道路の周りにガードレールを並べます。MoGraphは現在のCINEMA 4Dの要となる機能なので、よく見ておいてください。まず、「クローナー」を作成し、ガードレールを子オブジェクトにします。クローナーの働きはパーティクルと同じで、自分の子オブジェクトを複製します。次に、複製するモードを「オブジェクト」に変更し、「円形」スプラインをリンクします。「複製数」を変更すると、ガードレールの数が変わります。

次にガードレールの向きを調整します。今回は道路のバンクのような便利なオプションはないので、補助的なスプラインを作ります。メインのスプラインは「パス」、補助のスプラインを「レール」と言います。

まず、円形の名前を「円形_path」に変更し、「インスタンス」オブジェクトを作ります。インスタンスというのはあるオブジェクトへの参照という意味で、元オブジェクトが編集されるとインスタンスも同時に変化します。複製に似ていますが、インスタンスは編集できません。

インスタンスの名前は「円形_rail」に変更します。また、道路の中に入っていると道路が壊れるので、外に出します。

次に、インスタンスを少し上に上げます。これで、パスが電車の線路、レールが電車の架線のような関係になりました。この間にガードレールを並べるわけです。

クローナーの「レール」フィールドに円形_railをリンクし、「ターゲット」オプションをチェックします。


図052-7

Step 8

スプラインに沿う

 次に、この道路の何カ所かにゲートを付けます。ガードレールの場合と同じように新規ファイルに移動し、「チューブ」オブジェクトを作ります。そして、大きさやフィレットを調整し、名前を「gate」に変更します。このゲートは後で色が変わるようにするので、マテリアルは二つ作ってください。できたら、gateをコピーし、元のシーンに移動し、ペーストします。

次に、gateに「スプラインに沿う」タグを付けます。そして、「スプラインに沿う」の「パススプライン」に「円形_path」をリンクし、「スプラインの位置」の値を変えて、適当な位置に移動します。

自動車と違ってgateは動かしませんが、こうしておけば、道路の形状を変更してもgateの位置がずれません。


図052-8

Step 9

XPresso

  次に、自動車が通過した時に自動的にgateのマテリアルを変えるXPressoを作ります。XPressoというのはCINEMA 4D独自のエクスプレッション環境で、ノードをつなぐだけで複雑なプログラムを作成できます。XPressoもCINEMA 4Dの要となる機能なので、よく見てください。まず、gateに「XPresso」タグを追加します。XPressoタグをダブルクリックすると、「XPresso編集」ウインドウが開きます。

次に、「gate」と「自動車」、「gateについているテクスチャタグ」をXPresso編集にドラッグします。

そして、「gate」と「自動車」から「絶対位置」を取り出します。「絶対位置」はワールドに対する位置、「相対位置」は自分の親に対する位置です。

次に、XPresso編集の空いている部分を右クリックして「距離」ノードを作成します。このノードを使ってgateと自動車の距離を調べ、指定した距離より近づいたらテクスチャタグにリンクされているマテリアルを切り替えるわけです。

次に、距離を判断するために「比較」ノードを作成します。比較ノードは、「比較演算子」を「<(小さい)」に、「入力2」を「50」にします。こうすると、比較ノードは距離が50より小さい時に「1(True)」、そうでない時には「0(False)」を出力するようになります。

次に、二つのマテリアルを切り替えるために「on」と「off」マテリアルをXPresso編集にドラッグします。

そして、「条件分岐」ノードを作ります。条件分岐ノードは、「スイッチ」の値に応じた「入力」の値を「出力」に出します。つまり、スイッチの値が0なら入力1が、スイッチの値が1なら入力2が出力されるわけです。

条件分岐ノードはいろいろな値を扱えますが、今回は「マテリアルのリンク」を切り替えるので「データタイプ」を「リンク」に変更します。

最後に、「テクスチャタグ」ノードに「マテリアル」入力ポートを追加し、条件分岐ノードの出力ポートにつなぎます。

これで、自動車が通過する時に自動的にgateのマテリアルが変化するようになりました。キーは全く打っていませんが、これもアニメーションの一つです。

 

次に、このXPressoがついたgateを複製し、「スプラインに沿う」タグの「スプライン上の位置」の値を変更し、道路上の別の位置に移動します。すると、自動車が通過するたびに各gateのマテリアルが自動的に切り替わるはずです。

もしこのマテリアルのアニメーションをキーフレームで作ろうとしたら、自動車や道路やgateが変化するたびにキーを修正する必要があり非常に大変です。また、gateが数百個ある場合、事実上キーフレームで管理することは不可能です。しかし、XPressoを使えば何の問題もありません。


図052-9

Step 10

シーンの整理

 最後に、だいぶシーンが混乱してきたので整理します。これも非常に重要な仕事です。まず、gateが3個に増えたので、ヌルを使ってグループ化します。次に、道路や自動車をまとめるためにヌルオブジェクトを作成し、「自動車ワールド」とします。小さいファイルの場合は「台」を親にしてまとめてしまってもいいのですが、こうすると台を差し替えられなくなってしまいます。

オブジェクト数が20〜30を超えたら、ヌルを使ってまとめましょう。

ただし、「ステージ」だけはシーンに一個の特殊なオブジェクトなので出します。

ここまでのシーンファイル。

図052-10

 

前の章ヘ 次の章ヘ


Read more from CINEMA 4D基礎

Comments are closed.