今回は、グラスホッパーで曲面にレンガを作成する方法を解説します。


最終的に、上2枚の画像のようなレンガを作成することができます。

レンダリングした様子です。


今回のプログラミングでは、プラグインであるLunch boxのStaggered Quad Panelsコンポーネントを使用しています。
そのため、今回のプログラムを使用するには、Lunch boxのプラグインをインストールしてください。
詳しいダウンロード方法は下のサイトで解説されているので是非参考にしてください。
それでは、順番に解説していきます。
今回使用したグラスホッパーとライノセラスのデータダウンロードはこちら
動画で見る
全体コンポーネント


全体コンポーネント:①Surface ②Staggered Quad Panels ③MD Slider ④Evaluate Surface ⑤Scale ⑥Multiplication ⑦Extrude
レンガ部分のサーフェスを作成する
最初に、レンガ部分のサーフェスを作成していきます。

今回は、上の画像のライノセラス上のサーフェスを使います。

最初に、ライノセラス上のサーフェスを、Surfaceに格納します。

その後、Surfaceを、Staggered Quad PanelsのSrf端子につなげます。
そして、Staggered Quad PanelsのUとV端子に、1つの方向のレンガの数の数値を入力します。
今回は、どちらにも20を入力しています。
すると、上の画像のように、20×20のレンガのサーフェスが作成されます。
レンガ同士の隙間を作成する
次に、レンガ同士の隙間を作成していきます。

Staggered Quad Panelsを、Evaluate SurfaceのS端子につなげます。
この際に、Evaluate SurfaceのS端子を右クリックし、Reparameterizeを選択してください。
Reparameterizeに設定すると、サーフェスの情報を取得する地点を、0~1.0の数値で指定することができるようになります。
その後、MD Sliderを、Evaluate Surfaceのuv端子につなげます。
MD Sliderでは、uとv方向の2方向の位置を、0~1.0の数値で指定することができます。
初期の状態では、どちらも0.5なので、各サーフェスの中心部分の情報を取得できます。

すると、このように各レンガのサーフェスの中心部分の情報を取得できました。

その後、Staggered Quad Panelsを、ScaleのG端子につなげます。
さらに、Evaluate SurfaceのP端子を、ScaleのC端子につなげます。
Evaluate SurfaceのP端子からは、サーフェスの中心点の点データが取得できます。
さらに、ScaleのF端子に、スケールの倍率の数値を入力します。
今回は、0.95を入力しているので、0.95倍になります。
すると、各サーフェスが0.95倍になり、レンガの隙間ができました。
レンガの厚みを付ける
最後に、レンガの厚みを付けます。

Evaluate SurfaceのN端子を、Multiplicationのどちらかの端子につなげます。
Evaluate SurfaceのN端子からは、各サーフェスの指定した位置の法線方向のベクトルデータが取得されます。
さらに、Multiplicationのもう一方の端子には、厚みの数値を入力します。
今回は、500を入力しています。
これにより、各サーフェスの指定した位置の法線方向に、レンガのサーフェスの厚みを付けることができるようになります。
さらに、ScaleのG端子を、ExtrudeのB端子につなげます。
そして、Multiplicationを、ExtrudeのD端子につなげます。

すると、このように厚みができました。

これで、レンガの完成です。

厚みの数値を50にした様子です。
薄くすると、レンガ風のタイルを作成することもできます。
Comment