Grasshopper :: RhinoモデルのAnimationを作成

今回は、Rhinoモデルの回転アニメーションを作成する方法についてです。

 

レシピ

コンポーネントは、上図のように組んでみました。

[Brep]コンポーネントにモデルを格納し、[Bounding Box]コンポーネントと[Volume]コンポーネントで、モデルの中心点を抽出します。これが、カメラの焦点となります。

 

次に、[Circle]コンポーネントで、モデルを中心に円を描きます。これがカメラのパスになります。

 

そこから[Move]コンポーネントと[Unit Z]コンポーネントで、カメラパスをZ方向に移動できるようにします。

 

そして[Divide Curve]コンポーネントに繋いで、アニメーションのフレーム数を定義します。

 

あとは[Divide Curve]コンポーネントで分割した点を[List Item]コンポーネントで一つづつ選択できるようにし、[Python Script]コンポーネントに繋ぎます。

 

Pythonのコードは以下の通りとなっています。

内容はシンプルです。

rs.ViewCameraTarget("Perspective",Position,Focus)で、引数にViewport,カメラの位置,カメラの焦点を渡すと、RhinoのViewportのカメラの位置と焦点をコントロールできます。

 

さらに、[Number Slider]コンポーネントでパラメーターを変更できるよう、[Circle]コンポーネントと[Unit Z]コンポーネント、[List Item]コンポーネントにそれぞれ繋ぎます。

実際に[Number Slider]を動かしてみると、こんな感じです。

 

あとは、アニメーションを作成すれば完成です。

[Animation]とグループ名を付けた[Number Slider]コンポーネントを右クリックし[Animate]を選択すると、下図のようにアニメーションの設定画面が出てくるので、画像サイズや保存先、フレーム数等を設定し[OK]を押します。

 

すると、こんな感じでbmp形式の画像が作成されます。

 

これをgifファイルやその他動画ファイルに変換すると、アニメーション完成です!

アニメーション作成と言っておきながら、Grasshopper内で動画ファイル出力はしていませんが、

簡単にアニメーション”素材”を作成できるので、ぜひお試しください。

今回はカメラパスを円にしたのでモデルが回転するだけでしたが、パスや焦点を工夫すれば、ちょっとしたウォークスルーのアニメーションも作成できそうですね。

 

使用した主なコンポーネント
  • [Bounding Box] (Surface > Primitive > Bounding Box)
  • [Volume] (Surface > Analysis > Volume)
  • [Circle] (Curve > Primitive > Circle)
  • [Move] (Transform >Euclidean > Move)
  • [Unit Z] (Vector > Vector > Unit Z)
  • [Divide Curve] (Curve > Division > Divide Curve)
  • [List Item] (Sets > List > List Item)
  • [Number Slider] (Params > Input > Number Slider)
  • [Python Script] (Maths > Script > Python Script)

コメントを残す

メールアドレスが公開されることはありません。