描画パイプライン

Cinema 4Dで最も重要な機能は、リアルタイムレンダリングプレビュとデフォーマによる変形などをリアルタイムでプレビュできることです。

この機能を効率よく実行するために、それぞれの機能はあらかじめ定められた順番で処理されます。

例えば立方体を作成し、このオブジェクトをある形に変形させるエクスプレッションを適用したとします。次にこの立方体に屈曲デフォーマを割りつけます。さてどちらの処理が先に行われるのでしょう。立方体は先に屈曲させられ、次に変形させられるのでしょうか、それとも先に変形させられ、次に屈曲させられるのでしょうか。どちらの処理が先に行われるかによって、結果は全く違ってしまうはずです。

または、A点からB点にオブジェクトが移動するアニメーションを考えてみて下さい。このオブジェクトにはさらにC点に移動するエクスプレッションタグを適用します。オブジェクトは同時に2ヶ所に移動することはできません。さてどちらの効果が実現するのでしょうか。実現するのは最後に評価される方です。つまり、もしエクスプレッションが最初に評価されるのなら、アニメーションの設定がそれを上書きするので、オブジェクトはB点に移動するはずです。もしアニメーションが先に評価されるのなら、エクスプレッションがそれを上書きするので、オブジェクトはC点に移動するでしょう。

Cinema 4Dでは、エクスプレッション(XPressoを含む)に対して、それが評価される順番を自由に指定できます。

各機能が処理される順番は、われわれがパイプラインと呼んでいるものにしたがって決定されます。それぞれの機能はパイプの中を水が流れるがごとく、順番に整然と処理されます。そして全ての処理が終了し、オブジェクトの状態が決定すると、その結果がビューに表示されるのです。これを描画パイプラインと呼びます。もしあなたが、いくつかの機能を同時に使おうと考えているなら、その結果を予測するためにこの描画パイプラインを意識する必要があります。

例えばオブジェクトに「Cinema 4Dタグ / カメラに向く」を割り当てたとします。すると描画パイプラインに対して「エクスプレッションを使用」がオンになるため、そのオブジェクトをマウスで自由に回転させることができなくなります(そのオブジェクトは、そのオブジェクト自体のZ軸方向を向き続けます)。

エレメント

「アニメーションを使用」や、「エクスプレッションを使用」、「ジェネレータを使用」、「デフォーマを使用」オプション(下記参照)を使うと、描画パイプラインの一部を停止することができます。もしある部分が停止されると、その部分が処理されなくなります。例えば、もしデフォーマの使用オプションを停止すると、全てのオブジェクトは変形されていない形状で表示されるはずです。

アニメーションを使用

アニメーションタイムラインに格納されている全てのデータを参照します。エクスプレッションもオブジェクトをアニメートできますが、そのデータは区別して扱われます。

評価の順番

タイムラインで一つのオブジェクトに適用された複数のトラックは、下から上に向かって順番に評価されます。また、親オブジェクトが先に評価され、次に子オブジェクトが階層にしたがって順番に評価されます。オブジェクトマネージャにこの階層構造を表示させるには、オブジェクトの構造全体を開いて下さい(表示 / たたむ / 全て展開を参照)。オブジェクトは上から下に向かって順番に評価されます。

エクスプレッションを使用

エクスプレッション(XPressoを含む)はオブジェクトに複雑な動作を指定できます。これはたとえばタグを使うことでできます。 (例: XPresso、Python、カメラを見る).

例えばエクスプレッションを使うと、キャラクターのひじの角度にしたがって変位チャンネルの強度を変更し、筋肉の隆起をシミュレートすることもできます。また太陽の高度にしたがって家に適用したテクスチャの色を変更することもできます。

評価の順番

一つのオブジェクトに割りつけられた複数のエクスプレッションは、オブジェクトマネージャで左から右に向かって評価されます。また親オブジェクトが先に評価され、次に子オブジェクトが階層にしたがって順番に評価されます。オブジェクトマネージャにこの階層構造を表示させるには、オブジェクトの構造全体を開いて下さい(表示 / たたむ / 全て展開を参照)。オブジェクトは上から下に向かって順番に評価されます。

ジェネレータを使用

ジェネレータは、他のオブジェクトの補助を得てジオメトリを生成する機能を持ったオブジェクトを意味します。例えばサブディビジョンサーフェイスは、一時的に分割されたポリゴンオブジェクトを生成し表示します。また必要であれば、この一時的なポリゴンを、現在の状態をオブジェクト化コマンドを使って確定することもできます。ジェネレータには、サブディビジョンサーフェイスや、パーティクル、配列、対称、プリミティブ、スプラインプリミティブ、ブーリアン、インスタンス、メタボールなどがあります。

ジェネレータには次のものが含まれます。

生成 | ジェネレータメニューある全てのオブジェクト

パーティクルシステム

配列

対称オブジェクト

ポリゴンプリミティブ

スプラインプリミティブ

インスタンス

メタボール

評価の順番

ジェネレータは、子オブジェクトが最初に評価されます。そして階層の下から上に向かって順番に評価されていきます。オブジェクトマネージャにこの階層構造を表示させるには、オブジェクトの構造全体を開いて下さい(表示 / たたむ / 全て展開を参照)。オブジェクトは上から下に向かって順番に評価されます。

デフォーマを使用

デフォーマは、作成 | デフォーマ (デフォーマを参照) メニューから選択する特殊な機能を持ったオブジェクトです。爆発FXや、FFD、屈曲などがデフォーマに含まれます。

デフォーマはそれが適用されたオブジェクトをいろいろなアルゴリズムにしたがって変形させます。しかしデフォーマは、適用されたオブジェクトから一時的なオブジェクトを作成し、それを変形させるだけなので、そのオブジェクトの形状は全く変形されません。いつでも元に戻せますし、元の形状に編集を加えることもできます。ポリゴンリダクション機能もデフォーマと同じように働くので、デフォーマに分類されています。

エクスプレッションとデフォーマの大きな違いは、一時的なオブジェクトが生成される前にエクスプレッションが評価されるのに対して、デフォーマはそれが作成された後に評価される点にあります。

アニメーションを使用

エクスプレッションを使用

ジェネレータを使用

デフォーマを使用

上記の各機能は、描画パイプラインの特定のエレメントをオン/オフにする場合に使用します (これはプロジェクト プリセットでも実行できます)。例えば、デフォーマを使用 がオフの場合は、全てのオブジェクトが変形せずに表示されます。

評価の順番

デフォーマは、子オブジェクトが最初に評価されます。そして階層の下から上に向かって順番に評価されていきます。オブジェクトマネージャにこの階層構造を表示させるには、オブジェクトの構造全体を開いて下さい(表示 / たたむ / 全て展開を参照)。オブジェクトは上から下に向かって順番に評価されます。

ここで、デフォーマとジェネレータが子オブジェクトから順番に評価される理由について例をあげて説明します。ロフトオブジェクトは、階層に含んだ複数のスプラインオブジェクトから一時的なポリゴンオブジェクトを作成し表示します。これがオブジェクトの生成(ジェネレート)です。ここで、ロフトオブジェクトに含まれるスプラインをFFD(デフォーマの一つ)によって変形させる場合を考えてみましょう。

もしデフォーマとジェネレータの評価が階層の上から下に向かって順番に行われるとしたら、FFD(スプラインの子オブジェクト)は、ジェネレータが一時的なポリゴンオブジェクトを作成した後のスプラインしか変形できません(つまりスプラインは変形しても、そこから生成される一時的なポリゴンは変形しないのです)。

表示の順番

ここまででは、同じ種類の機能について、それらがどのような順番で評価されるのかを説明しました。それでは、違う種類の機能についてはどうなのでしょうか?

実はここでも、描画パイプラインはあらかじめ定められた順番で評価されます。:

最初に全てのアニメーションが評価されます。

次にエクスプレッションが評価されます。

最後にジェネレータとデフォーマが評価され、これが最も優先されます。

この順序を覚えておくと、後になって非常に役に立つでしょう。

この描画パイプラインは、Cinema 4Dで何かを操作するたびにくり返し実行されます。これは負荷の重い処理になりますが、この機能のおかげで、例えばターゲットエクスプレッションを適用したオブジェクトを、ターゲットの動きにしたがって、エディタでリアルタイムに回転させられるのです。言ってみれば、オブジェクトを生の状態で扱えるのです。

Cinema 4Dを使っていて、もし理解不能な現象が起こったら、まず描画パイプラインを調べてください。

IKを使用

新しいIKのオン/オフを、あなたのシーンに対してグローバルに切り替えます。

コンストレイントを使用

全てのコンストレイントタグのオン/オフを、あなたのシーンに対してグローバルに切り替えます。

対称を使用

ジョイントオブジェクトにおいて定義された、全ての対称オプションのオン/オフを、あなたのシーンに対してグローバルに切り替えます。

ヘアを使用

このオプションにて、ヘアの全体的なオン/オフを設定することができます。これは、エディタウインドウとレンダリングにおけるヘアの可視性に対して適用されます。