Grasshopperの使い方と学び方を初心者向けに解説[入門]

grasshopper

グラスホッパーを始めたばかりの時は、使い方や、どのように勉強していけばいいのか分からないと思います。

そこで今回は、グラスホッパーを始めたばかりの初心者の方向けに、グラスホッパーの使い方と学習方法について解説します。


本記事では、コンポーネントはアイコン表示になっています。


グラスホッパーの学び方

心構え

最初に、グラスホッパーの学び方についての心構えについて解説します。

結論から言うと、絶対に完璧主義になってはいけないということです。

理由としてはグラスホッパーは、あくまでも自身の作りたい何かを作るためのツールだからです。

完璧主義になると、グラスホッパーを理解することに時間と労力をかけてしまい、最終的に作りたい物を作ることが目的ではなくなり、グラスホッパーを理解することが目的になってしますからです。

グラスホッパーだけでなく、その他のプログラミング言語でも同じですが、全ての過程を理解することは本当に難しいです。

そのため、最初のうちは過程が理解できなくても、自身の作りたいものを創ることをゴールにしてください。

何度も何度もグラスホッパーを触っていくと、少しずつ理解していくことができるので、少しずつマスターしていきましょう。

学ぶ順番

グラスホッパーを学んでいく順番は、以下の通りにすることがおすすめです。

  1. グラスホッパーを使うための、最低限の基本操作
  1. 自身の作りたいものを見つける
  1. 自身の作りたいものを作る過程を考える
  1. 1つ1つの過程に必要なグラスホッパーの方法を、1つ1つ調べて実行する
  1. 完全に理解できなくても、自身の作りたいものを完成させる
  1. 2~5を繰り返す

それでは具体例を見てみましょう。

1段階目の最低限の基本操作は、この記事や、その他のサイトや動画、本などで学んでください。

2段階目の自身の作りたいものを見つけるでは、今回は階段を作りたいとします。

作りたいもの

このような階段を作りたいと思いました。

ここからは3段階目の、自身の作りたいものを作る過程を、考えていきましょう。

今回は、階段を作る過程を5つの過程に分けました。

過程1

1つ目の過程では、階段の元になる曲線を用意します。

過程2

2つ目の過程では、階段の幅を作る必要があると考えました。

その際に、曲線を同じ形のまま大きく広げる方法を調べて、実行します。

過程3

3つ目の過程では、階段の1段の枠を作る必要があると、考えました。

この時に、どのようにすれば2つの線を点で分割し、その点を線でつなげられるかを調べて実行します。

過程4

4つ目の過程では、1段ずつ上方向に上げる必要があると考えました。

そのため、1段ずつ上方向に上げる方法を、調べて実行しました。

過程5

最後の5つ目の過程では、階段に厚みを出す必要があると、考えました。

そのため、階段全てに等しく厚みを出す方法を、調べて実行しました。

これで階段が完成しました。

1つ1つの過程では、全て理解できなくても大丈夫です。

もし調べている過程で、誰かがすでに作ったプログラムがあるのなら、そのまま同じプログラムを見て作ったり、そのまま使っても問題ありません。

繰り返しにはなりますが、グラスホッパーは自身の作りたいものを作る道具なので、全てを理解することに時間を使う必要はありません。

これらの過程を繰り返すことで、自身の作りたいものを作りながら、少しずつグラスホッパーを理解できるようになります。

グラスホッパーの起動方法

それではグラスホッパーの基本を、見ていきましょう。

グラスホッパーを起動

グラスホッパーを起動するには、ライノセラスでコマンドのGrasshopperを入力、もしくはグラスホッパーのアイコンをクリックします。

ロード中

すると、ロードが始まり、グラスホッパーが起動します。

初期画面

グラスホッパーが起動すると、このような初期画面が出てきます。

コンポーネントを出して保存する

最初の状態では、グラスホッパーファイルを保存することができないので、適当にコンポーネントを配置します。

その後、左上の青いマークを押すと、保存することができます。

一番最初に保存する時、ファイル名と保存場所を決めます。

インタ―フェース

グラスホッパーのインターフェースを見ていきましょう。

メニュー

左上にあるタブは、メニューと呼ばれています。

これらのタブから、グラスホッパーの基本的な設定を行うことができます。

コンポーネントタブ

メニュータブの下は、コンポーネントタブになります。

このタブから、グラスホッパーのプログラミングに使う、コンポーネントを選ぶことができます。

タブを開く

それぞれのコンポーネントのタブを、黒い部分をクリックしてさらに開くことができ、より多くの種類のコンポーネントを見ることができます。

一番大きな画面は、キャンバスと呼ばれています。

この部分にコンポーネントを配置し、プログラミングをしていきます。

保存方法

グラスホッパーファイルの保存方法を見ていきましょう。

上書き保存

まずは上書き保存をする方法です。

1つ目の方法は、左上の青いボタンを押すことでできます。

上書き保存2

2つ目の方法として、メニューのファイルタブから、Save Documentを選択する方法もあります。

名前を付けて保存

名前を付けて保存するには、Save Docement Asを選択します。

ファイルを開く

グラスホッパーファイルを開くには、左上の緑のボタンを押します。

ファイルを開く2

もしくは、メニューのFileタブからOpen Documentでも、グラスホッパーファイルを開くこともできます。

コンポーネントを出す

次はコンポーネントを出す方法を、見ていきましょう。

コンポーネントを選ぶ

1つ目は、コンポーネントタブから選ぶ方法です。

使いたいコンポーネントをドラッグ&ドロップ、もしくはクリックしてキャンバス上で、もう一度クリックします。

今回は、Curveコンポーネントを選びます。

クリック

使いたいコンポーネントをクリックすると、このようなカーソルマークに切り替わります。

この状態で、キャンバスを好きな場所でクリックします。

コンポーネントが出現

すると、このようにコンポーネントを出すことができました。

検索

もう1つのコンポーネントを出す方法は、検索です。

キャンバスをダブルクリックすると、上の画像のような検索タブが出てきます。

検索タブに入力

使いたいコンポーネント名を入力します。

コンポーネントのフルネームが分からなくても、ある程度は検索候補が出てきます。

今回はCurveと入力します。

コンポーネントが出てくる

この方法でも、コンポーネントを出すことができました。

コンポーネントの表示形式の変更

コンポーネントの表示形式の変更をすることができます。

Draw Icons

メニューのDisplayタブから、Draw Iconsを選択します。

Draw Iconsが選択されている場合は、上の画像のように、コンポーネントはアイコンで表示されます。

Draw Iconsを選択しない

Draw Iconsを選択しないと、名前でコンポーネントが表示されます。

しかし、コンポーネント名では覚えにくいので、アイコン表示にすることを強くおすすめします。

このサイトでは、アイコン表示で進めていきます。

ライノセラス上のオブジェクトを格納する

ライノセラス上のオブジェクトを、コンポーネントに格納してみましょう。

Params

ライノセラス上のオブジェクトを格納できるコンポーネントは、多くあります。

頻繁に使われるのは、コンポーネントタブにある、Paramsタブのコンポーネントです。

今回は、その中でもほとんどのオブジェクトを格納することができる、Geometryコンポーネントを使います。

Set one Geometry

まずは1つのオブジェクトを格納してみます。

1つのオブジェクトの場合、コンポーネントを右クリックし、Set one Geometryを選択します。

オブジェクトを選択

ライノセラス上の画面に切り替わるので、格納したいオブジェクトを選択します。

格納完了

すると、このようにコンポーネントの色が変わり、格納が完了します。

ライノセラス上で確認

ライノセラス上でも、格納されていることを確認できます。

Set Multiple Geometries

複数のオブジェクトを格納する場合には、Set Multiple Geometriesを選択します。

複数のオブジェクトを選択

ライノセラス上で、格納したい複数のオブジェクトを選択します。

格納完了

このように、複数のオブジェクトが格納されていることが分かります。

順番を逆にする

順番を逆にしても、オブジェクトを格納できます。

先にライノセラス上で、オブジェクトを選択します。

選択している状態で格納

オブジェクトが選択されている状態で、ライノセラス上で格納します。

順番が逆でも格納できる

このように、順番が逆でも格納することができました。

グラスホッパー上でオブジェクトを作成する

先程は、ライノセラス上のオブジェクトを、コンポーネントに格納してグラスホッパーに格納していました。

それ以外にも、グラスホッパー上でオブジェクトを1から作ることもできます。

CurveタブのPrimitiveタブ

オブジェクトをグラスホッパー上で1から作るには、Primitiveタブのコンポーネントを使います。

Primitiveタブは、CurveやSurfaceタブの中の、1つの項目です。

上の画像の場合、CurveタブのPrimitiveタブです。

SurfaceタブのPrimitiveタブ

こちらは、SurfaceタブのPrimitiveタブです。

Primitiveのコンポーネント

Primitiveのコンポーネントを、例として使ってみます。

今回はCurveタブにある、四角形を作るRectangleを使います。

XY端子に辺の長さの数値を入力しました。

グラスホッパー上で作成される

このように、グラスホッパー上で四角形が、作成されました。

Primitiveのコンポーネント2

次は、Surfaceタブにある、球を作るSphereコンポーネントを使ってみます。

R端子に、球の半径の数値を入力しました。

グラスホッパー上で球が作成される

グラスホッパー上で球が作成されました。

これらのように、ライノセラスのオブジェクトを格納するだけでなく、グラスホッパー上でもオブジェクトを作成することができます。

2つの方法があると覚えてください。

コンポーネント同士をつなぐ

コンポーネント同士を、つなぐ方法を見ていきましょう。

ワイヤーが出てくる

コンポーネントの端子を引っ張ることで、ワイヤーが出てきます。

これを、他のコンポーネントの端子につなげることができます。

つながった

このように、2つのコンポーネントが、ワイヤーでつながりました。

右から左

先程は、左から右のコンポーネントにつなげていましたが、逆向きでもできます。

複数つなげる

複数のワイヤーを、1つの端子につなげることもできます。

今回は、MoveのG端子に2つ、つなげています。

複数のワイヤーをつなげる場合、Shiftキーを押しながら、端子につなげます。

つながりを消す

逆にワイヤーのつながりを消すには、Ctrlキーを押しながらもう一度つなげます。

ワイヤーが消えた

するとワイヤーが消えて、つながりがなくなりました。

コンポーネントの色の意味

コンポーネントの色の意味を見てみましょう。

コンポーネントの色の意味

コンポーネントにエラーや注意点がある場合には、オレンジや赤色になります。

白の場合には、問題はありません。

オレンジの場合は、エラーは起きていませんが、注意が必要という意味です。

上の画像の場合、サーフェスがS端子につながってないと、Divide Surfaceの効果が発揮されないため、オレンジ色の注意になっています。

赤の場合は、エラーが起きています。

上の画像の場合、S端子にサーフェスをつなげればいませんが、線データがつながれているため、エラーになっています。

Preview

次は、少しコンポーネントの色が黒っぽい場合を見てみましょう。

これは、コンポーネントを右クリックし、Previewをオフにすることでこの色にできます(元から黒っぽいコンポーネントもあります)。

Previewをオフ

このように、Previewをオフにして黒っぽくしました。

ライノセラス上で表示されない

この状態の場合、ライノセラス上で表示されなくなります。

Previewをオン

一番右側のコンポーネントをオンにし、色を白くしました。

ライノセラス上に表示される

すると、ライノセラス上に表示されるようになります。

コンポーネントのグループと整列

コンポーネントをグループ・整列する方法を見ていきましょう。

コンポーネントを選択

まずはグループをする場合を見てみましょう。

まずは、グループしたいコンポーネントを選択します。

Groupを選択

キャンバスを右クリックし、Groupを選択します。

グループされる

すると、このようにコンポーネントが、グループされました。

名前を付ける

グループを右クリックし、一番上の欄に入力することで、名前を付けることができます。

整列

次は整列する方法を見てみましょう。

整列したいコンポーネントを選択すると、4方向に矢印などのマークが出てきます。

整列する

これらのマークを押すと、コンポーネントを整列することができます。

今回は、右側にある下向きの矢印を押しました。

縦方向

縦方向のコンポーネントを整列してみます。

縦方向でも整列できた

このように、縦方向でも整列ができました。

今回は、下側にある右向きのマークを押しました。

ライノセラス上に出力

ライノセラス上に出力する方法を見てみましょう。

Bakeを選択

出力したいコンポーネントを右クリックし、Bakeを選択します。

レイヤーとグループを選択

すると、設定ウィンドウが出てきます。

上のLayerで、ライノセラス上で書き出す際のレイヤーを選択します。

もし出力したいオブジェクトが複数ある場合、Groupにチェックを入れることで、グループするかどうかを決めることができます。

今回は出力するオブジェクトが1つのため、Groupはチェックしていません。

設定が完了したら、Okボタンを押します。

ライノセラス上に出力された

すると、ライノセラス上にオブジェクトが出力されました。

複数のコンポーネントを選択

複数のコンポーネントを、まとめてBakeすることもできます。

出力したい複数のコンポーネントを選択します。

その後、キャンバスを右クリックし、Bakeを選択します。

複数のオブジェクトが出力された

すると、このように複数のオブジェクトが出力されました。

データ構造

最後に、データ構造を見てみましょう。

データ構造は、1回で理解できるようなものではなく、繰り返しグラスホッパーを使う上で徐々に理解していくものです。

なので、初心者の方は「こういうものがあるのか」程度で見て大丈夫です。

データ構造の基本

まずはデータ構造の基本を見てみましょう。

一番左側の列は、Index番号と呼ばれており、0から順番に各データに、番号が割り振られています。

右側にある水色の部分は階層と呼ばれ、データのまとまりを作っています。

階層が1つ

まずは階層が1つの場合を見てみましょう。

今回は分かりやすく説明するために、List Itemというコンポーネントを使っています。

List Itemは、Index番号を指定することで、それに該当するデータを抽出することができます。

今回は、Index番号を2と指定することで、それに該当するデータの7が出力されています。

箱のイメージ

データ構造は、箱をイメージすると分かりやすくなります。

階層が1つの場合は、1つの箱の中にデータが入っています。

今回の場合、Index番号0~4の、数値データ2,5,7,10,13が、箱の中に入っています。

Index番号を2と指定することで、Index番号2の数値データ7が、箱の中から取り出されています。

複数の階層の場合

複数の階層の場合を見てみましょう。

今回の場合、階層が3つあります。

List ItemでIndex番号を2で指定すると、3つの数値が出力されました。

これは、階層の中にそれぞれIndex番号が、独立して存在するからです。

箱で見る

箱で見ると、3つの箱にデータが入っています。

3つの箱の中に、0~4のIndex番号がそれぞれあります。

そのため、List itemでIndex番号の2を指定すると、それぞれの箱の中のIndex番号2に該当するデータを取り出せます。

今回の場合、数値データの7,6,11が取り出せました。

4種類のデータ構造変換

4種類のデータ構造を、変換する方法を見てみましょう。

端子を右クリック

データ構造を変えたい場合には、最初にコンポーネントの端子を、右クリックします。

その後、4種類の中から変換タイプを選びます。

最初はFlattenにします。

Flattenにすると、複数の階層が、1つの階層にまとまります。

箱が1つになる

このように、先程までは3つの箱でしたが、1つの箱にまとまりました。

Graftにする

次はGraftにします。

1つ1つのデータが全て階層になる

すると、1つ1つのデータが全て階層になりました。

1つのデータにつき、1つの箱ができる

このように、1つのデータにつき、1つの箱ができるようになりました。

Simplifyにする

今度はSimplifyにします。

Simplifyにすると、階層がシンプルになります。

何度もデータを使っていると、階層名が複雑になることがあるので、その際に使います。

Reverseにする

最後に、Reverseにします。

順番が逆になる

Reverseにすると、データの順番が逆になります。

まとめ

まとめ

今回は、グラスホッパーの使い方と学習方法について解説しました。

グラスホッパーは、すぐに理解することができないので、時間をかけてマスターしていきましょう。

今回は以上になります。