今回はVector Fieldを使用した簡単なチュートリアルを作成しました。上画像の様な羽の様なジオメトリを作成し、Rhinocerosでガラスのマテリアルを割り当てレンダリングしております。難易度の高くないチュートリアルとなっておりますので是非実装してみてください。こちらのチュートリアルは動画化しております、動画の方がよい方は以下のリンクからどうぞ!
概要

上画像がプログラムの全体像となっております。
各ブロックごとに解説していこうと思います。
ベースとなるサーフェイス作成

- Sphereコンポーネントで中心点(0,0,0)とした半径100mmの球を作成します。
- Brep|PlaneコンポーネントでXY Planeと球との交線を取得します。
- Surface Splitコンポーネントで取得した交線で球を半分に切断します。
- List Itemコンポーネントで切断した球の上半分のみを取得します。
- 取得した搬入に対して、今度はXZ平面で半分に切断します。
- その後YZ平面で切断し、球の1/8のサーフェイスを取得します。(※冗長ですね・・・これもっと簡単な方法あれば教えてください。)
サーフェイス上に点を発生させる

- 取得した球の1/8サーフェイスにPopulate Geometoryコンポーネントで点を発生させます。今回は50点としています。後でいい感じの形状を取得するために、SeedにもNumber Sliderコンポーネントで値を接続しておきます。
ベクトル場を発生させる

- Areaコンポーネントで球とXY平面との交線の中心点を取得します。(※結局球の中心点です。)
- Point Chargeコンポーネントで球の中心点へ向かう引力を発生させます。Charge:-2、Decay:0
- Spin Forceコンポーネントで球の中心点から発生する回転するベクトル場を発生させます。Strength : 3, Radius : 4 , Decay : 0
- Merge Fieldsコンポーネントで2つのベクトル場を結合します。
ベクトル場で点を移動させる

- Field Lineコンポーネントで、作成したベクトル場で球の1/8サーフェイス上に発生させた点を移動させた際の軌跡を取得します。
余分な奇跡の削除

- なんとなくベクトル場の中心付近にある軌跡が(※上画像で1本だけ赤くしてある曲線です)きれいな形状にならないような気がしたので削除します。
- Lengthコンポーネントで取得した曲線(軌跡)の長さを取得します。
- Sort Listコンポーネントで曲線を短い順に並べ替えます。
- Cull Indexコンポーネントで0番目を削除することで余計な曲線を削除できました。(※たぶん一番短いだろうと思いこのような処理にしました。)
曲線に沿った円を作成

- Perp Framesコンポーネントで曲線に沿った平面を取得します。今回は10分割の11平面取得します。
- Circleコンポーネントで取得した平面を中心とした円を作成します。
円の半径を設定

- Rangeコンポーネントで0~1までを等分割したリストを取得します。
- Graph Mapperコンポーネントでリストの値を制御します。
- 半径が負の値や0になってほしくないので、Maximumコンポーネントで0.001より小さい値だった場合は0.001を出力するようにします。
- Multiplicationコンポーネントで取得したリストに定数を掛けます。このリストを半径につなぎます。
円同士の間にサーフェイスを張る

- Loftコンポーネントで円と円の間にサーフェイスを張ります。出力端子はFlattenしておきます。
- JitterコンポーネントでLoftしたリストをランダムに並べ替えます。
- 今回は、これらのジオメトリに3色を割り当てたいので。ランダムに並べ替えたリストを3ブランチに分けます。List Lengthコンポーネントでジオメトリの数を取得します。
- Divisionコンポーネントで3分割します。
- Roundコンポーネントで3で割った数字の小数点を切り上げた整数を取得します。
- Partition Listコンポーネントで3ブランチに分けます。
- Explode Treeコンポーネントで3ブランチを分けて出力します。各出力端子にSurfaceコンポーネントを接続します。
- Surfaceコンポーネントをそれぞれ別レイヤーにBakeします。
Rhinocerosでマテリアルの割り当て

- マテリアルにガラスを割り当て好きな色に設定します。
- ツールバーのオレンジ色の球体を選択しレンダリングします。
完成



以上になります。サーフェイスの位置を移動させていろんな形状も試してみてください。割と簡単にできちゃうので是非トライしてみてください!