GH Basics GH Tutorial Grasshopper Objects

【Grasshopper Tutorial】 How to create animation

今回はGrasshopperを使用して、作成したデータを以下の様にアニメーションにしていきたいと思います。この記事では私が暇つぶしにRhinocerosで作成した、ププリンでアニメーションを作成していますが、皆さんは球体とか適当なオブジェクトでやってみてください。こちらのチュートリアルは動画化しております、動画の方がよい方は以下のリンクからどうぞ!

概要

上画像がコードの全体像となっております。各ブロックごとに説明していこうと思います。

移動させるオブジェクトを作成

  1. まずはアニメーションを作りたいジオメトリを作成します。私はRhinocerosでププリンを作成しましたが、みなさんは適当に球とかで実装してみてください。

移動させる軌跡を作成

  1. 移動させるための軌跡を作成します。今回は3パターン【Z方向に延びる直線】・【半円】・【任意の曲線】をモデル化しました。ここで作成した曲線をもとに移動させていきます。
  2. 3種類の移動パターンを切り替えられるように、Stream Filterコンポーネントでフィルターを掛けておきます。Value listコンポーネントも接続しておきます。これでValue Listで指定した曲線が抽出されるようになりました。

移動ベクトル作成①

  1. Data Recorderコンポーネントを用意し、適当な値をPanelコンポーネントなどで接続します。Panelコンポーネントの中身は空でもいいし何か値を入れても構いません。
  2. TriggerコンポーネントDataRecorderコンポーネントにつなぎます。Triggerコンポーネント上で右クリックを押し、Intervalを選びます。今回は10msを選択しております。
  3. Data Recorderコンポーネントの赤い丸ボタンを押すと、入力端子に接続した値が10msごとに記録されていきます。(※出力端子にPanelコンポーネントを接続して確認してみてください。)
  4. List Lengthコンポーネントを接続すれば、10msごとにList Lengthの値が1ずつ増えていきます。
  5. DivisionコンポーネントでList Lengthの値を割ります。ここで割る数字を大きくすれば、よりアニメーションがゆっくり描写されます。
  6. 先ほど作成した軌跡を行ったり来たりさせるために、Sine波の周期を使用します。Divisionコンポーネントから得られる数値をSineコンポーネントに接続することで、-1~1までの値に変換します。
  7. Absoluteコンポーネントで絶対値にしておきます。

移動ベクトル作成②

  1. Evaluate Curveコンポーネントに最初に作成した軌跡を接続しReparametraizeします。t値に先ほど作成したAbsoluteコンポーネントから得られる0~1までの値を接続します。これで軌跡上を行ったり来たりする点を作成することができました。
  2. End Pointsコンポーネントで軌跡の始点を取得します。
  3. Vector2Ptコンポーネントで軌跡の始点と軌跡上を移動する点を結ぶベクトルを作成します。

ジオメトリを移動させる

  1. Moveコンポーネントで移動させたいジオメトリを接続し、作成したベクトルで移動させます。これでアニメーションのプレビューが完成しました。

プレビュー完成

適当に色付けしてプレビュー完成です。

Anemoneを使用したケース

  1. こちらAnemoneでも同じようなことが実装できます。Loop StartLoop Endを上画像の様につなぎ、Loop回数を指定します。今回は1000回としています。
  2. Buttonコンポーネントを接続し押すと繰り返し処理が実行されます。この時出力端子CからはCountが取得できますので、その値を上画像の様に接続すれば、同様なことが実装できます。ただし、ループ回数に達したら処理が止まります。(※Anemoneはこちらからインストールすることができます。)

アニメーションを作成したい場合

  1. 実際にアニメーションを作成したい場合は、Number Sliderコンポーネントを使用します。上画像の様に接続し、右クリックでAnimation Controlを開きます。
  2. 保存先・Viewport・サイズ・Frame Countなどを設定しOkを押せば以下の様にFrameCount分の画像ファイルが出力されます。
  1. 後はこれらの画像を動画編集ソフトやPhotoshopなどで結合してアニメーション完成です。

以上になります。さほど難しくはないので是非ご参考にしてください。

-GH Basics, GH Tutorial, Grasshopper, Objects
-, ,