MoGraphを自由自在に動かしたい人。他人とは違う表現を求めている人。Broadcast、Studio困ったときのXPresso。1たくさんのオブジェクトを効率よく動かすMoGraphは、簡単に言うと「たくさんのオブジェクトを、効率よく動かす機能」です。4Dには他にも似たような機能があります。「パーティクル」や「XPresso」、「ThinkingParticles」、「ダイナミクス」などです。4Dの「歴史」を振り返る必要があります。多数のオブジェクトを効率よく動かす機能はありませんでした。R5XLで標準のパーティクル機能が導入され、多数のオブジェクトを効率よく動かせるようになりました。複雑なことはできませんでした。標準パーティクルの機能はR12まで進化せず、現在でもあまり複雑なことはできません。R6〜R7COFFEEエクスプレッションが導入され、テキストでプログラムを書けばかなり複雑なことができるようになりました。現在でも複雑な表現をする場合はXPressoの中に入っているCOFFEEノードを使います。標準のパーティクルにはCOFFEEと連動するための機能がなく、COFFEEだけで多数のオブジェクトを動かすためには、必要な機能を全て自分で作る必要があり、非常に大変でした。R8〜R9XPressoとThinkingParticles(TP)が導入されました。XPressoはノードベースのプログラム環境で、COFFEEノードを使うとテキストベースのプログラムを混在させることもできます。TPはXPressoの中でパーティクルを扱うための拡張モジュール(ライブラリ)です。XPressoとTPを組み合わせることで、プログラムを書けない人でも、それなりの機能を簡単に作れるようになりました。複雑な機能を作るには、複雑なXPressoを組んだり、COFFEEを使ってプログラムを書く必要がありました。R10〜R12多数のオブジェクトを効率よく動かすもう一つの方法として「MoGraph」が導入されました。MoGraphには二つの側面があります。一つは、初心者向けに「プログラムを全く書かずに、XPressoやThinkingParticlesの機能を実現する」こと。一つは、上級者向けに「XPressoやThinkingParticlesの機能を拡張すること」です。MoGraphは、一見初心者向けの機能に見えますが、至る所でXPressoやThinkingParticles、ダイナミクス、パーティクルと連動するようにできています。MoGraphを「新しい拡張モジュール」と考えれば、これまでのXPressoやThinkingParticlesを超える表現が可能になります。R12で最も効率のいい方法は、MoGraphで可能な表現はMoGraphだけで実現し、MoGraphを超える表現については他の機能を組み合わせて実現する、ということになるでしょう。2MoGraphの基本MoGraphは非常に巨大な機能です。したがって「基本」を理解することが重要です。MoGraphに限らず、巨大なシステムには必ずしっかりした基本があります。MoGraphは巨大ですが、所詮は基本機能の組み合わせに過ぎません。基本をよく理解すれば自然と全体が見えてくるのです。「文字(音)」が組み合わさって「言葉」となり、言葉が組み合わさって「文章」となります。MoGraphも同じです。MoGraphの基本は以下の通りです。これについて、以下のステップで詳しく説明していきます。MoGraphは、「MoGraphオブジェクト」を使ってクローンを作る。ここで、「クローン」というのは「たくさんのオブジェクト」という意味です。「直接クローンを作る方法」の他に、「何かを参照してクローンを作る方法」や「何かをクローンとみなす方法」があります。MoGraphは、「イフェクタ」を使ってクローンをコントロールする。MoGraphには、「MoGraph選択範囲」や「減衰」、「ウエイト」等イフェクタの働きを限定するためのいろいろな方法があります。4Dオブジェクトや機能と自由に組み合わせられる。MoGraphは、普通のオブジェクトを参照して、普通のオブジェクトを作ります。したがって、他のオブジェクトや機能と自由に組み合わせられます。Toon」との組み合わせは重要です。MoGraphの「クローナー」オブジェクトは、自分の子オブジェクトを複製してクローンを作ります。図601-1オブジェクトを直接複製する「モード」として、まず「線形」や「放射」、「グリッド配列」があります。この場合、「複製数」はクローナーの側で自由に指定できます。クローナーは複数の子オブジェクトを持つことができます。子オブジェクトは指定した「ルール」にしたがって複製されます。ルールを「反復」と「ランダム」にした場合、以下のように働きます。図601-2次に「ブレンド」ですが、このルールには二つの働きがあります。「同じタイプのプリミティブ」や「ポイント数が同じポリゴン」を入れた場合、ブレンドは「モーフ」として働きます。形状だけでなく、ライトに含まれる「色」や「明るさ」等のパラメータもモーフできます。図601-3また、異なった種類のオブジェクトを入れた場合、ブレンドは以下のように働きます。図601-4最後に「ソート」ですが、このルールはイフェクタの「クローンを修正」機能を使って操作することを前提としています。したがって、イフェクタを指定しない場合、複数のオブジェクトがあっても最初のオブジェクトしか使われません。MoGraphにはクローナーによく似た機能として、「マトリックス」オブジェクトがあります。マトリックスは、言ってみればクローナーの機能の一部だけを取り出したもので、オブジェクトを複製せず、ただ座標だけを作ります。マトリックスは、座標しか持たない故に「座標だけにデフォーマを適用できる」ことと、「ThinkingParticlesを生成できる」という利点があります。マトリックスについては次のステップ4で詳しく説明します。MoGraphの「破砕」オブジェクトを使うと、「既に存在する」たくさんのオブジェクトを直接クローンにできます。この場合、破砕は何も複製しません。図601-5破砕は、エンジンやキャラクター等たくさんのオブジェクトで構成された複雑なものに、イフェクタやダイナミクスを適用したい場合に便利です。他のオブジェクトの上にクローンを並べたい場合は、クローナーのモードを「オブジェクト」に切り替えます。この場合、クローナーはリンクされたオブジェクトを参照し、自分の子オブジェクトを複製してクローンを作ります。参照するオブジェクトには、まず「ポリゴンやスプライン」を指定できます。図601-6また、「パーティクルやThinkingParticles」も指定できます。図601-7また、MoGraphの「マトリックス」オブジェクトも指定できます。図601-8ThinkingParticlesやマトリックスを使うと、間接的にクローナーをXPressoで制御できるようになります。現在のところ、直接クローナーやその他のMoGraphオブジェクトをXPressoで制御することはできません。マトリックスを使うと、「オブジェクトの配列だけ」をデフォーマで変形できるようになります。一般的に、クローナーに直接デフォーマを適用すると、クローンまで変形してしまいます。次に、MoGraphの「MoInstance」オブジェクトを使うと、リンクしたオブジェクトの「過去」を参照し、それをクローンにできます。この場合、MoInstanceは「過去のオブジェクト」を複製することになります。図601-10別の見方をすると、MoInstanceはフレームごとにオブジェクトを新規に複製し、しばらく維持した後消去する、「パーティクルに似たオブジェクト」とも言えます。MoInstanceは、「時間にしたがって複製する」機能なので、アニメーションを再生していないと働きません。5何かをクローンとみなすその他、MoGraphにはオブジェクト以外のもの、つまり「ThinkingParticles」や「文章」、「スプライン内部のポイント」、「押し出したポリゴン」、「ポリゴン1枚1枚」等をクローンとみなし、イフェクタを適用するためのオブジェクトがあります。MoGraphの「マトリックス」オブジェクトを使うと、ThinkingParticlesをクローンとみなして、イフェクタを適用できます。図601-11ThinkingParticlesは、直接クローナに参照させることもできるのですが、その場合TPの生成や消滅をTP側で制御する必要があります。」で「ThinkingParticles」を指定すると、TPの生成や消滅までマトリックスオブジェクトの側で指定でき、操作が楽になります。クローンとみなして、イフェクタを適用できます。次に、MoGraphの「MoSpline」オブジェクトを使うと、「スプラインを構成するポイント」をクローンとみなして、イフェクタを適用できます。図601-13また、MoSplineの場合はイフェクタに加えてパーティクルモディファイア(場)も使えます。次に、MoGraphの「押し出し」オブジェクトを使うと、「ポリゴンを押し出した部分」をクローンとみなして、イフェクタを適用できます。図601-15押し出しは、デフォーマと同様に、自分の親オブジェクトや兄弟オブジェクトに対して働きます。次に、MoGraphの「PolyFX」オブジェクトを使うと、「ポリゴン1枚1枚」や「スプラインの断片」、「スプラインセグメント」をクローンとみなして、イフェクタを適用できます。図601-16PolyFXは、デフォーマと同様に、自分の親オブジェクトや兄弟オブジェクトに対して働きます。最後に、MoGraphの「トレーサ」オブジェクトについて説明します。トレーサは、リンクしたオブジェクトの「軌跡」からスプラインを生成します。トレーサは、MoGraphオブジェクトとしては例外的に、クローンを作りません。したがって、イフェクタを適用することもできません。図601-17トレーサは、他のMoGraphオブジェクトやパーティクルと組み合わせて使うための補助的なオブジェクトですが、とても面白い効果を出すことができます。この他に、MoGraphには専用の「シェーダ」と「ノード」があります。これらについては、別の講座で詳しく説明します。