Particular や最近出た Stardust は、基本数ピクセルの粒子を扱うことを前提に設計されていますが、この KikakuMolecules はそれらよりもうちょっと粒度が大きいものを扱いやすくしたAEプラグインとなっています。
Win, Mac(OS X 10.7-) / CS5-
コミックマーケット91 3日目 12/31(土)
Atarabi(東R-18ab)
5,000円
通常版 + オートポストプロセス機能(ヴィネッティング、クロスプロセス風色調補正、グレインノイズ)。
KikakuMoleculesTrial-1.0.0.zip
Plexus や Stardust のように、パラメータだけを持つエフェクトを複数組み合わせて描写する構造となっています。 Stardust ではパネル上でノードを構築することで関係性を持たせますが、 KikakuMolecules は適用順により関係性を持たせます。
基本としては、まず部品(Atom)を組み合わせることで雛形(Molecule)を作ります。Molecule は最大10種類まで作成できます (Molecule ID で区別)。そして、その雛形を元にしたパーティクルを飛ばすといった二段構造となっています。 そのため、比較的自由にパーティクルの形状、挙動を設計することが出来ます。
細部の説明に入る前に、大雑把な流れを。
Line, Cross, Curve, Path, Triangle, Quadrangle, Rectangle, Circle, Polygon, Noise, Layer の10種があります。 これらの Atom を用いて、 Molecule を形成していきます。この工程は Preview モードで行います。
各付属エフェクトは KikakuMolecules 本体の Setup から追加していきます。
Repeater, Transform の2つがあります。 これらは直上の同じ Molecule ID を持つ Atom に作用し(あいだに他の Molecule ID を持つ Atom があったらそれらは無視する)、複製、トランスフォームします。
下から Repeater を掛けて複製しています。 Repeater は各Atomにも付随しているので、この程度であれば Atom だけでも完結出来ます。 途中 Scatter という乱雑さを与える機能を使って、スケールや色相に変化を加えています。
Locus, Point, Transporter, Exploder, Emitter の5種があります。 これらを用い、上で作っておいた Molecule を雛形にパーティクルを生成します。この工程は Sprite, Sprite Z, Texture Z のいずれかのモードで行います。 Sprite は二次元を、 Sprite Z, Texture Z は三次元を扱います(Sprite Z は絶えずカメラ方向を向くモード)。
雛形の形成と、その雛形を元にしたパーティクルの生成は、分けたほうが分かりやすいので、新たにレイヤーを作り、そこに KikakuMolecules を適用し、 Settings 内の Molecule Layers から他のレイヤーの Atom 等の情報を引っ張ってきてます。 エミッタ側でも変化はある程度付けられるので単純なものであればわざわざ分離する必要はありません。 そして、 Mode を Sprite Z にした後に、 Emitter を追加してます。 Emitter で生成されるパーティクルは生き死にがあるので、作った雛形のどの区間を使用するかを決める必要があります。 そこで、 Molecule In Point, と Molecule Duration を用いて、区間を指定してやります。動画内では In Point を0秒、 Duration を1.5秒にしていますが、これはそのまま0秒から1.5秒の区間を用いることを意味します。 Life は別個設定できます。今回はデフォルトの1秒のままなので、 1秒かけて0秒から1.5秒の区間を遷移するといった形になります。 また、スケール等も Emitter 側から調整できるので、とりあえず0秒から1秒の区間で作っといて、後は Emitter 側で別途設定っていうのが楽かなと思います。
Molecule Repeater, Molecule Transform の2つがあります。直上の Molecule Generator に作用し、生成されたパーティクルを複製します。
Molecule Repeater で Emitter から生成されたパーティクルを線上に複製しています。ここでも Delay や Scatter で変化を与えています。
Noise Field, Effector, Transition Effector, Distortion, Map の5種があります。これらは、上記の Molecule Generator, Effector for Molecule Generator によって生成されたパーティクルに対して作用します。
Effector を用いて、生成されたパーティクルに変化を与えています。
以上が大まかな流れとなります。もちろん、最初の雛形を形成する過程だけでも二次元平面で色々やるには十分だと思うので、そういう用途に使うとか色々やり方はあると思います。
KikakuMolecules 特有の概念を説明します。
色は、Color, HLS の二系統を扱います。二つは別々に上流から末端の Atom へと適用されていき、最終的に Atom で指定した色(Fill、 Strokeなど)に対して、まず、 Color が合成され、その後、 HLS で変換されます。 両方を使うと分かりにくくなりやすいので、基本一つの系統を軸に、他方の軸は味付け程度にというのがよいと思います。 後、これらを適用するかは、 Atom 側で設定することが出来るので、例えば中の塗りは色相が変化してほしいけど、外側の縁はある特定色を保ってほしい、といったことも可能です。
Atom内の Repeater を用いてグリッド状に複製し、 Color Transition を用いて Color を、 Scatter を用いて HLS をいじっています。その後、 Settings 内の Blend with Color, Apply HLS to Color で Color のかぶせ具合や HLS変化 を適用するかを決めてます。
Form のような、パーティクルが不死のものを Static、 Particular のような Life が設定され生き死にがあるものを Dynamic、と便宜上区別します。 Molecule Generator のうち、 Locus と Point の Static モードが前者を、 Point の Dynamic モードと、 Transporter, Exploder, Emitter が後者を扱います。 Static の場合、基本的に現在のフレームの Molecule の状態を参照しますが、 Dynamic の場合、生き死にの範囲を Molecule Generator 側で設定します。
KikakuMolecules では、二次元における回転を Rotation、三次元における回転を Orientation と用語を分けてます。 Orientation は、 Texture Z モードでしか扱いません。 Sprite Z モードで何か回転しないなと思ったら、 Rotation の方をいじってみてください。
解説
時間変動をさせたい値に対しては、カスタムパラメータを用意し、その中のグラフで値を弄るという設計が多いですが、 KikakuMolecules では、カスタムパラメータではない通常のパラメータを用いてそれらを実現しています。 そのために In Point, Duration という、範囲を指定するためのパラメータを導入しています。 通常のパラメータを扱っているのでエクスプレッションを用いたり、スクリプトから弄るといったことも可能となります。 また、 In Point, Duration 自体にもキーが打てるので、途中で切り替えるといったことも可能となります。 以下、いくつかの具体例。
Color を変化させます。
動画ではリピータで複製したものにたいして色を指定してます。
Color 以外の諸々を変化させます。
これもリピータで複製したものにたいして色々いじっています。
In Pointにキーを打つと時間変動するので面白いです。
Emitter 等で、パーティクルの生成から消滅までの挙動を弄るのに使います。
乱雑さを与えます。シードに Scatter Seed と Seed for Scatter の二種類があるのですが、前者は下流のシードに乱雑さを与えるもので、その Scatter 自体のシードは後者となります。基本は Seed for Scatter の利用だけで問題ないです。
Effector for Atom を作用させる際に、どのように振る舞うかを決めるためにグループというものを導入しています。
Atom を追加すると、基本は前の Atom と同じグループに所属することになります。新たにグループを形成したい場合は、 New Group をチェックします。 Repetaer を適用すると、最後に形成されたグループに対して作用することになります。
Molecule を具体的に構成するパーツ群です。最終的なシェイプの描写を担います。 各 Atom には Wipe, Repeater が付属しており、簡単にワイプ、複製ができます。
以下は共通のパラメータ。
ワイプします。
Color, HLS を適用するかを決めます。塗りの色を固定化したい際に用います。
内蔵リピーターです。
折れ線、円および多角形の周を描写します。
十字を描写します。
ベジェカーブを描写します。
パスを描写します。どのパスを使用するかはIDで指定しておき、具体的にIDにどのパスを割り当てるかは本体側で決めます。
三角形を描写します。
四角形を描写します。
長方形を描写します。
円を描写します。
正多角形を描写します。
フラクタルノイズを描写します。
他のレイヤーを描写します。どのレイヤーを使用するかはIDで指定しておき、具体的にIDにどのレイヤーを割り当てるかは本体側で決めます。
Atom または Effector for Atom に対して、作用するパーツ群です。
直上の同じ Molecul ID を持つ Atom ないし Effector for Atom を複製します。重ねがけも出来ます。
直上の同じ Molecul ID を持つ Atom ないし Effector for Atom をトランスフォームします。
上記の Atom で作った Molecule の雛形を実際に生成する要素です。使用する際は、Sprite, Sprite Z, Texture Z モードにします。
Static な Molecule Generator です。軌跡を描きます。
規則的にパーティクルを配置します。 Static モードと、 Dynamic モードの2つがあります。
Dynamic な Molecule Generator です。エミッタとコレクタの間をパーティクルが移動します。
Dynamic な Molecule Generator です。散発的なエミッタです。 Explode パラメータにキーを打ったところが発生点となります。
Dynamic な Molecule Generator です。通常のエミッタです。
上記のMolecule Generatorに作用して、生成されたパーティクルを複製します。
色々な配置で複製。
トランスフォームを変えながら複製。
パーティクル全体をトランスフォームします。
上記の Molecule Generator および Effector for Molecule Generator で生成されたパーティクルを弄ります。
乱雑さを加えます。
範囲を指定して、変化を加えます。
範囲を指定して、Transition を用いて変化を加えます。
歪ませます。
Map を用いて弄ります。
いくつかの、便利な機能を。
本体の Settings -> Visibilitiy とすすむと Z Depth というパラメータがあるのでそれをチェックすると、Z深度に応じて着色出来ます。半透明を扱わず、合成モードも Normal であれば深度マップとして利用することも出来るかもしれません。
本体の Utility から生成されたパーティクルの情報をライトないしシェイプレイヤーにベイクできます。ただし、Effector for Molecule の効果等は無視されます。
本体の Settings -> Molecule Layers でレイヤーを指定するとそのレイヤーの適用された Atom 等の KikakuMolecules に関するエフェクトを読み込めます。 雛形を作る過程と、それを生成する過程は分けたほうが分かりやすいので、そういう用途を想定してます。
本体の Settings から パラメータの時間解像度を変えることが出来ます。Emitter を早く動かしてガタついた時に利用してください。