Fab Village Project #3 - Assignment
こんにちは、大川です。
この記事は、私がFab Villageプロジェクトに参加し、それらを通じて得た
学びや制作したモノについて記録していくものです。
今回この記事では#3でのAssinment、、、というよりかは#2で紹介したパートナーとの制作物の新たな進捗について書いていこうと思います。
ロータリー型バランスボード
私たちがFab-Practiceを通した成果物として目標にしているのがロータリーエンジンの形をしたバランスボードです。バランスボードの詳細については、#1-Assignmentで詳しく書いています。また#2の記事ではRhinocerosを用いてモデリングし、それをSlicer for fusion 360で2次元の加工から3次元のoutputが得られるようにデータを変換し実際に組み立てていくまでの過程を書いています。
今回はRhinocerosのツールの1つであるGrasshopperを用いてよりパラメトリックにデータが作成することができないかと考え取り組んでみました。
パラメトリックデザインとは?
パラメトリックデザインとは、3Dモデリングソフト上で、設計者の意図する条件=パラメーター(数値変数)を設定して数値を変えていくことで、膨大なデザインのバリエーションを生み出すことができる3次元の設計手法です。
条件を変数化することで同じルールに基づきつつ、形状が異なるデザインを簡単に生み出すことができ、デザインを比較検討していく際にとても有効な手段となります。
Grasshopper (GH)
今回パラメトリックデザインをRhinoceros上で行うにあたって、私はGrasshopperを選択しました。GrasshopperとはRhinoceros上で動作するプラグインのモデリング支援ツールです。これはVisual Programming Language(Graphical Programming Language)の1つでプログラミングを視覚的にパズルを繋げるようにして行えます。
Rhinoceros上でのパラメトリックデザインを行うには他にも方法があります。Python with Rhinocerosというツールがあり、Python言語によってRhinocerosでのモデリングを行うことができます。私は卒業論文にはこのPython with Rhinocerosを用いてパラメトリックデザインの手法を取り入れた組木の新たな制作方法の提案を行いました。
今回手法にGrasshopperを選んだ理由は2つあります。
1つ目に、Grasshopperでパラメーターを変化させるとき、instant feedbackが得られることが挙げられます。Pythonを用いたとき、パラメーターを変化させるにはcode上の数値を変化させもう一度codeをRunするのですが、この時その変化がモデルに反映されるには時間がかかります。またパッと切り替わるため前回のモデルとの比較が困難になります。Grasshopperではパラメーターを変化させると、モデルをそのままスムーズに変化させることができます。これをinstant feedbackと言いパラメトリックデザインを行う時の1つの要素となります。
2つ目に、Grasshopper内にPython Scriptコマンドがあり、Grasshopperを使いながらもPythonを使うことができることが挙げられます。GrasshopperとPythonを掛け合わせて使用することでより制作の幅が広がります。
以上からGrasshopperを使ってみることにしました。また私自身ずっとPythonをやってきたためGrasshopperにそこまで慣れ親しんでいなかったため良い機会でもありました。
GH #1
1つ目の制作データはこのような感じです。右に見える紫色に囲まれている数値のスライダーによってパラメーターを変化させることができます。
パラメーターは主にモデルを作り上げるときの骨組みとなるCurveデータをモデルするためのものです。これらを変化させて制作者は自身の意図に沿った形を制作することができます。このデータではより制作者が数値を自分なりに変化させることができるように考えた結果パラメーターがとても多くなってしまいました。
その結果、Grasshopperの画面がこのようにグチャグチャになってしまい、いわゆるスパゲッティコードになってしまっています。
またCurveデータからSurfaceを張ろうとしたのですが、このデータでのモデル作成手順ではそれに適さずSurfaceを貼ることができませんでした。
失敗した点としては色々なことを想定しすぎたことが挙げられます。CurveデータのControllポイント全てをGH上で表現したため醜いコードになってしまっており、また制作者側も使いにくいものになってしまっています。
そこで2つ目のデータを作ることにしました。
GH #2
このデータはより制作者が手軽に、かつ自分の意図をデータに反映できることを目指して作成しました。
先程のデータではCurveデータをコントロールポイントを数値スライダーを変化させてモデルするようにしていましたが、このデータではFieldを用意しその中に制作者がCurveデータを直接モデルしGHに格納することで、そのデータからモデルを作り上げる方法にしました。
モデリングの行程について動画にしてみました。
GH自体も整理されよりわかりやすいものになりました。
また前回の張ることができなかったSurface問題ですが、コマンドをNetworkSrfというものからより単純なLoftへと変えることで解決することができました。
今回このGHのファイルをGitHub上で公開しています。興味のある方は是非以下のURLからダウンロードしていただき、使ってみてください。
ひとまずのレベルをクリアしたデータを作成することができました。
細かい修正ポイント等を反映させてブラッシュアップしていこうと考えています。
最後まで読んでいただきありがとうございます。