3DCGとノンリニア編集の専門店が送る最新情報とお得情報!インディゾーンブログ インディゾーン@オンライン

« 【終了間近!12月28日まで!】Naiad 年末特別プロモーション!ライセンスご購入本数分、半年間ライセンスをご提供 | メイン | Thinkbox Software社より、FROST 1.2 がリリースされました! »

2011年12月22日

[ムービー] Krakatoa MX 2 - 2本のPRT Maker 紹介ビデオ

Krakatoa MX 2のPRT Makerオブジェクト(元は「PRT Creator」)は、Magmaモディファイヤを使用して分散させる一定数のパーティクルの作成や専用のPRT Maker DesignerやMAXScriptsと組み合わせることで、とても美しいフラクタルデザインを生成することが可能です。

次の動画は、PRT Makerの機能を2種類ご紹介します。1つ目の動画では、PRT MakerでMagmaモディファイヤを使用して、PRT Hairのスプラインに沿ってパーティクルを作成する方法をご説明します。

こちらのビデオは英語で紹介されておりますが、下記に日本語の対訳を掲載致しましたので、ビデオと併せてご覧頂くことでよりご参考になるかと思います。

このムービーは、スプラインとPRT Hairを使用したPRT Makerの概要を説明します。

PRT Makerを使用して、スプラインとPRT HAIRからパーティクルを作成する

[ビデオ内容 - 日本語対訳]

まず、XY軸上に任意のスプラインを作成し、それをPRT Hairに変換し、SpacingおよびView Spacingの値を5に設定します。スプライン曲線上のパーティクル数(Count)は85になります。次に、PRT Makerを作成します。PRT Makerは、初期値では1,000,000パーティクルとなっていますが、今回は10,000まで減らし、View Countのチェックを外してレンダリングとビューポートのパーティクル数を合わせます。

現在、すべてのパーティクルはスプライン上に存在します。PRT MakerにMagma Modifierを追加して、OutputノードにPositionチャンネルを設定します。InputChannelノードにInteger Only (整数のみ)のIndex (指数)チャンネルを設定します。このノードにパーティクルのIndex(パーティクル数)が含まれています。次にObject > ParticleQueryオペレータを作成し、InputChannelノードのIndexと、作成したParticleQueryオペレータの2番目のIndexを繋げます。ParticleQueryの1番目の入力「Particles」にはInputParticlesオペレータの[Pick Particle Object]にPRT Hairを指定します。ParticleQueryのPosition出力をOutputノードに繋げます。ビューポートを更新すると、ビューポート上に何も表示されなくなりました。これは定義されていない(85個目以上の)パーティクルが有効ではない位置(position)に割り当てられているためです。これを解決するには、IndexとParticleQueryオペレータの間にModuloオペレータを挿入し、Divisor入力をInputParticlesオペレータのCountに接続して計算し、パーティクル数が85に達したら再度、1からの繰り返しで開始するように設定します。これにより、パーティクル数が85個目に達したら、再度同じ場所からスタートします。

1つの軸に沿ってPRT Makerパーティクルをオフセットする
現在、パーティクルは同じ位置を共有しています。しかし、InputValueを位置(Position)に追加することにより、スプライン曲線をX、Y、Z軸に沿って移動させることができます。ベクトルを使用せずに、パーティクルの反復をもとに新しいVectorを計算することが可能です。したがって、パーティクルは、スプラインが再スタートする度に、1単位ずつ上がります。

IndexをFloatに変換します(Convert > ToFloat)。これをスプライン上のパーティクル数でDivide (除算)します。さらに、結果をAddに接続し、Vectorに変換します(Convert > ToVector)。Divide出力にToVectorのX入力の値を指定すると、X軸に沿ったパーティクルを得ることができます。Ctrl + Wで軸の接続を切り替えることにより、YやZ軸に沿うパーティクルを得ることが可能です。Zの入力に接続します。

円形の断面図の作成
スプライン曲線に垂直な配列ではなく、スプライン上に平行な円形を作成してみます。MakeCircle BLOPを使用します。Z-Offsetを0に設定します。前回の計算で使用した値をangle (角度)に適用し、radius (半径)を5に設定します。これをAddオペレータに接続すると、サイズが5の円形ができます。サイズが5だと重なる部分があるため、2.5に変更します。すると、繋がった円形が表示されます。スプラインを選択し、頂点を動かすと、PRT Makerも同期して動きます。XYの面に平行になっている円形の軸方向を変更したい場合は、BLOPのTransformVectorをフローに挿入し、Normal (法線)およびTangent (接線)ベクトルを使用します。ParticleQueryにNormalとTangentチャンネル出力を追加し、それらをTransformVectorのそれぞれに接続します。するとスプライン上の円の方向が変わります。Radiusを10に設定します。PRT Makerのパーティクル数を変更することにより、断面の円形をさらに高密度にすることもできますが、今回はパーティクル数を10,000のままにします。こうすることで、スプラインに沿ってきれいなチューブが作成されます。

断面図の半径の減衰調整
スプラインに統一した半径を使用してチューブを作成する代わりに、円錐を作成してみます。左側のオペレータを脇にずらし、Divideオペレータを作成します。ModuloをFloatに変換し、それを既にFloatに変換済みのパーティクル数で除算します。そして、この値に半径を乗算します。この値はスプラインに沿って0から1でFalloff (減衰)します。

User Nameに「Radius」と入力し、User Notesに「Controls the Radius of the tube(このノードはチューブの半径をコントロールする)」という説明文を入力し、このモディファイヤパネルに表示します。(Expose(表示にチェックを入れます))。そうすることで、スピナーからこのノードをコントロールすることが可能です。

Powerオペレータを追加し、指数を制御するための別のInputコントロールを追加します。Node Nameを「Exponent」に変更し、User Notesを「Controls the falloff of the Radius along the spline(スプライン上の半径の減衰を制御します)」と入力します。Exposeにチェックを入れてモディファイヤパネルに表示させると、Magma Flow Editorを開かずにRadius(半径)およびExponent(指数)が調整できるようになります。

現在、Falloff(減衰)の向きが反対になっており、減衰の先端部分を太く、末端部分を細くしたい場合は、0-1に指定したDivisionだけを使用するのではなく、1からSubtract (減法)するようにセットします。これにより、0から1の間の逆の数値を指定することができます。指数の設定を変更することで、半径を自由に変更することができます。1以上の値は半径を大きくします。

また、フローの一つ(Add)を無効(Enableのチェックを外す)にすると、断面や配列が除去され、ユニークな形状を生成します。

Addオペレータを再度有効にし、パーティクルの配列を調整します。スプラインのノイズモディファイヤのX、Y、Zの強度を全て50に設定し、フラクタル と アニメーションノイズにチェックを入れます。その結果、スプラインにアニメーションが付き、PRT Makerも必要に応じた断面を生成します。

PRT HairのView Spacingを0.5に変更します。これにより、ライン上には十分なパーティクルが生成されますが、断面部分は不十分なため、PRT MakerのView Countに0を増やし(1,000,000に設定)、100,000パーティクルの高密度オブジェクトに仕上げます。

Exponent (指数)を変更し、アニメーションを再生すると、PRT Makerがパーティクルとスプラインの動きに沿って動いているのが確認できます。

 

2つ目の動画は、PRT Maker Designerのユーザーインターフェースの基本的な機能の紹介を致します。

このムービーでは、Krakatoa MX 2のPRT Maker Designerについてご説明します。

PRT MAKER FRACTAL DESIGNERの紹介 - パート1

[ビデオ内容 - 日本語対訳]

Krakatoaメニューより、[Open the PRT Maker Designer UI]を選択し、Krakatoa PRT Maker Designer UIを開きます。[Create PRT Maker]ボタンをクリックし、ビューポート上に新規のPRT Makerを作成します。モディファイヤ スタックには、パーティクルの色を変更するためのMagmaが存在します。ベースオブジェクト(PRT Maker)を選択し、Icon Size(アイコンのサイズ)を1.0に縮小したほうが、パーティクルの確認が容易です。

UIにはすべてのオブジェクト名が表示され、フラクタル表示をオン/オフに切り替えることができます(Enable/Disable Fractal Design Effect)。新しい形状に変化させるには、Affine Transforms CountまたはRandom Seedの数値を変更し、[RESET TO QUICK DESIGN…]ボタンをクリックします。数値を変更する毎にこのボタンをクリックすると、オブジェクトが違った形状に変化するのを確認することができます。[>Dynamic Explorer Mode]ボタンをクリックして有効にしておくと、数値を変更するたびにデザインが変化していきます。

例えば、Transformsを3にし、Random Seedを1に設定します。Random Seedの数値を上げていくと、異なる形状が表示されます。最初(フレーム1)の形状として、Random Seed 10のデザインが気に入ったとします。[>Dynamic Explorer Mode]を無効にし、フレーム100に移動します。フレーム100でRandom Seed 1に設定して別のデザインを表示し、[APPLY DESIGN AT CURRENT TIME]をクリックして、現在のデザインを適用します。これにより、すべてのコントロール パラメータをフレーム100にキーフレームします。アニメーションの最初のフレームに戻り、タイムスライダを進めると、Random Seed 10から1への形状変化が確認できます。

生成した中間フレームのデザインは保存することができます。フレーム42へ移動し、デザインを確認し、気に入ったデザインであれば、それをディスクに保存します。フレーム42のTransforms 3、Random Seed 1のカスタムデザイン(“CustomDesign_42_3_1”)で[SAVE Current Design…]ボタンをクリックすると、ウィンドウの下部にスクリーンショットが生成され、ディスク上にファイルが保存されます。これは、フレーム42フレーム目のデザインと同一のものになります。

任意のフレームに移動し、形状の異なる新規の中間デザインとして保存することもできますが、あらかじめ作成しておいたデザインを読み込むことも可能です。例えば、あらかじめ作成しておいたこちらのデザインを適用するには、フレーム100で[MERGE Preset At Current Time]ボタンをクリックします。最初のフレームから順に見ていくと、フレーム1で適用したオリジナルのデザインから、フレーム100で読み込んだデザインまでの変化のアニメーションが生成されているのが確認できます。先ほど保存したフレーム数42番目のデザインを維持したい場合は、保存したデザインをフレーム42に適用させることで、フレーム42まではオリジナルのアニメーションとなり、フレーム42からは適用されたデザインに変化します。

また、保存したいフレーム、例えばフレーム77で、デフォルトの名前の代わりに、(見た目が海老に似ているので)「ShrimpLikeCloud」と名前を付け、[SAVE Current Design…]ボタンをクリックし保存します。保存したデザインはいつでも読み込むことが可能です。

PRT MAKER DESIGNER - カラーグラデーションの調整
それでは、色がどのように生成されるかを見てみましょう。

Magmaモディファイヤには、2つの色を混ぜ合わせるColorScalarチャンネルが使用されています。ColorScalarを含むInputChannelノードを選択し、[Input Channel]ロールアウトで[PRT Maker Channels Only (PRT Maker Channelのみ)]に指定すると、PRT Makerから生成されるいくつかのチャンネルが上のドロップダウンメニューで確認できます。

Particle Data Viewerを見てみましょう。Krakatoaツールバーから[Krakatoa Particle Data Viewer]アイコンをクリック、もしくはKrakatoaメニューの[Launch the Particle Data Viewer utility…]を選択してParticle Data Viewerを開きます。ColorScalarチャンネルはパーティクルのパスの変化(transform)に基づいて生成されており、結果が同じ空間内は同色になります。Particle Data Viewerを閉じます。

Magmaエディタに戻り、[View]メニューの[Show COLOR SWATCHES in InputVector Nodes]を有効にして、Inputノードのカラースウォッチ(色見本)を表示します。さらに、[View] > [Show Texture Map SAMPLES in Nodes]を有効にします。

色を変更してみましょう。赤色を黄色に変更し、ビューポートを更新(update)すると、パーティクルの色が黄色に変化します。[>AUTO]ボタンをクリックしてビューポートの自動更新をオンにし、色を変更すると、パーティクルの色はColorScalarチャンネルに基づいて変化します。

また、3色を混ぜ合わせることも可能です。3色を混ぜる場合は、Krakatoa MX2の[ThreeColorGradient] BLOPを使用します。ThreeColorGradientノードにはControl入力ソケットと3つのColor入力ソケットがあります。Control入力にはInputChannelノードのColorScalar出力を接続し、Color1およびColor2の入力にはそれぞれ既存の黄色と青色のVector出力を繋げます。Color3の入力は、ドラッグして新規のInputValueノード(タイプ:Vector)を作成して繋げ、今回は赤色を指定します。このThreeColorGradientのOutput出力をColorチャンネル(OUT:Color)とEmissionチャンネル(OUT:Emission)の両方に接続すると、Color Scalarに基づいて混合された3色がパーティクルに適用されます。

もちろん、3色以上を混ぜ合わせることも可能です。3色以上を入力する場合は、BLOPを使用しません。まず、ThreeColorGradient BLOPを削除し、新規のInputTextureマップを作成します。作成したInputTextureマップの出力ソケットを2つのOUTPUTチャンネル(ColorとEmission)に接続します。InputTextureの[Properties and Actions]ロールアウト中の[Explicit Channel Inputs]の[TextureCoord]にチェックを入れ、TextureCoord入力を有効にします。その後、ColorScalar出力をToVectorに変換し、ToVectorをTextureCoordに接続します。InputTextureノードの<Add Texture Map>をクリックし、グラデーション ランプ(Gradient Ramp)を選択します。これにより、U座標に沿った色を設定することができます。マテリアル エディタを開き、Magmaエディタの[Put to MEdit]をクリックすると、マテリアルエディタに黒と白のグラデーションが作成されます(黒と白はグラデーション ランプのデフォルトカラーです)。マップ中の各フラグに赤、緑、青色を適用し、さらに3色以上を適用したい場合は、フラグを追加(ここでは黄色と水色のフラグを追加)して、赤 > オレンジ > 黄色 > 緑 > 青緑 > 青 のグラデーションを作成することができます。試しに、タイムスライダを移動させてみると、多くの色がパーティクルに適用されていることが確認できます。

フラグを動かさずにパーティクルの配色を調整する場合は、ColorScalarを含むInputChannelノードとToVectorノードの間にPowerオペレータを挿入し、Exponent (指数)の値を指定します。グラデーションの配色を赤色にする(スキューする)場合は、Exponent(指数)の値を2, 3, 4, …に変更します。青色にする場合は、値を0から1の間に指定します。今回は1.5の指数値を設定し、カラー入力(赤色、黄色、青色のInputValueノード)は削除します。Magmaエディタとマテリアル エディタを閉じます。

PRT MAKER DESIGNER - 細かな調整とユーザーコメント
QUICK DESIGNコントロールを使用してデザインを自動生成するのではなく、すべてのコントロールパラメータを使用してデザインの微調整を行います。<PRT Maker Designer>で[OPEN Fractal Design Parameters Editor…]をクリックし、パラメータ エディタを開きます。

タイムスライダを動かすと、各フレームのデザインを定義するパラメータがフレーム毎に全て更新されるのが確認できます。フレーム90へ移動し、3番目のトランスフォームのWeight(ウェイト)値を0まで減少させると、そのWeightはデザインから取り除かれ、パラメータはキーフレームされます。2番目のトランスフォームのWeightを0まで減らしてしまうと全てのパーティクルが1つの点に集まってしまうので、良いデザインを生成するには、最低でも2つのWeightが必要となります。タイムスライダを動かすと、10フレームにかけて3番目のトランスフォームのWeightが0から1に変化するアニメーションが見られます。また、フレーム90より前のアニメーション(フレーム1と90の間)を確認すると、フレーム1でWeightの値が1に戻るようにアニメーションが設定されています。

ご覧のとおり、表示されているパラメータはすべて調整することが可能です。例えば、1番目と2番目のトランスフォームのRot Z (Z回転)の値を変更すると、さらにデザインに影響が加わります。同様に、すべてのパラメータが調整可能です。また、別のフレームへ移動し、新しいキーを打つこともできます。

カーブ エディタを開き、キーフレームを確認します。PRT Makerの下には、Position (位置)、Rotation (回転)、Scale (スケール)、Skew Orientation (スキュー方向)、Skew Angle (スキュー角度)、Weight (ウェイト)など複数のサブコントローラがあります。これらはFractal Design Parameters Editorで制御されていますが、手動で設定を行い、キーを削除、追加、調整することが可能です。

また、PRT Maker Designer UIでは既存のデザインに対してUser Notes (ユーザー メモ)を記入または変更することができます。例えば、前に保存したShrimpLikeCloudにはまだメモが記入されていませんので、入力ボックスに「Created for online demo video(“オンラインデモ用に作成”)」と入力し、別のデザインを選択して再度ShrimpLikeCloudデザインを選択すると、先ほど記入したメモの情報を表示できます。他の既存のデザインに対しても同様にメモを書くことができます。

PRT MAKER DESIGNER - ADDITIVE (加算)レンダリングのプレビューアニメーション

ムービーのパート2では、これらのデザインのレンダリングを説明します。まずはプレビューをご覧ください。これは、先ほど作成したデザインをAdditive Particles (加算パーティクル)としてレンダリングしたものです。

 

>> Thinkbox Software製品の詳細・ご購入はこちら

>> Krakatoa および Frost の日本語オンラインマニュアルはこちら

投稿者 INDYZONE : 2011年12月22日 18:24

トラックバック

このエントリーのトラックバックURL:
http://indyzone.jp/blog/mt-tb.cgi/1607