コンテンツへスキップ
2026.05.06 のまとめへ

2026.05.06 / Topic 02

02
tipsMcNeel Forum

Grasshopperでキネティックファサードの開閉形状をX字から+字へ変更するTips

返信数

Grasshopperでキネティックファサードの開閉形状をX字から+字へ変更するTips

─── 詳細記事

皆さん、こんにちは!Rhino/Grasshopperを使ったデザイン、楽しんでいますか?今回は、キネティックファサードの開閉形状をX字型から+字型へ変更したいという相談にお答えし、そのロジックと実践的なTipsをお届けします。タイトな締め切りの中でも効率的に解決できるよう、ポイントを絞って解説していきますね。

X字型と+字型の動きの根本的な違いを理解する

まず、X字型と+字型の開閉メカニズムの根本的な違いを理解することが重要です。X字型は、通常2つの要素が中心で交差し、その中心を軸に回転することで開閉するパターンが多いですよね。一方、+字型は、中心から放射状に4つの要素が伸び、それぞれが独立して動くか、または特定の軸で回転することで開閉します。つまり、X字型が「回転」に主眼を置いているのに対し、+字型は「移動」または「複数の独立した回転」が鍵となることが多いのです。

既存のX字型スクリプトがある場合、おそらくRotateコンポーネントを使って回転を制御しているはずです。これを+字型に応用しようとすると、単に回転するだけでは意図した動きにならないことが多いので、まずはこの違いを頭に入れておきましょう。

+字型を実現するためのGrasshopperロジック

+字型の開閉をGrasshopperで実現するには、いくつかの方法が考えられます。最もシンプルで分かりやすいのは、中心から4方向に伸びる要素をそれぞれ「移動」させる方法です。

1. 基準点の作成: まず、ファサードの中心となる点をConstruct Pointコンポーネントで定義します。
2. 要素の定義: その中心点から、X軸、Y軸の正負方向にそれぞれ線分(または矩形)を生成します。これはLineコンポーネントや、RectangleExtrudeなどを組み合わせて行えます。
3. 開閉の動きの定義: ここが一番のポイントです。各要素をMoveコンポーネントで移動させます。移動方向はVector XVector Yなどを使い、中心から外側へ向かうように設定します。移動距離は、Seriesコンポーネントで連続した数値を作成し、Graph Mapperで動きのイーズイン・イーズアウトを調整すると、より滑らかな開閉アニメーションが実現できます。

もし、+字型の各要素も回転させたい場合は、それぞれの要素に対してRotateコンポーネントを適用します。この際、回転軸(LinePlaneで定義)と回転角度を各要素に合わせて個別に設定する必要があるため、少し複雑になります。List ItemGraft TreeFlatten Treeなどを活用して、データ構造を適切に管理することが重要です。

既存スクリプトを+字型に調整するポイント

X字型スクリプトからの変更では、以下の点に注目してください。

* 要素の数: X字型が2つの部材で構成されているなら、+字型では4つの部材に増やす必要があります。
* 動きの制御: X字型で使っていたRotateコンポーネントの代わりに、Moveコンポーネントを中心に据えるか、4つの要素それぞれに対して異なるRotateを適用することを検討します。
* データ構造: 4つの要素を個別に制御するためには、データツリーの構造を理解し、List Itemで各要素を選択したり、Graft TreeFlatten Treeでツリー構造を調整したりするスキルが求められます。

まずは、既存のX字型スクリプトの中で、どの部分が「X」の形と「開閉」の動きを制御しているかを特定することから始めましょう。そして、その部分を+字型に適した「移動」または「回転」のロジックに置き換えていくのです。

時間がないときの効率的なアプローチ

タイトな締め切りの中で、ゼロから作り直すのは大変ですよね。最も効率的なのは、まずX字型スクリプトをGroup化し、その中の主要な動きを制御しているコンポーネント(おそらくRotateやそれに繋がる数値スライダーなど)を特定することです。

次に、そのX字型を作る部分を一度無効化(Disable)し、同じ入力(例えば、ファサードの全体サイズや開閉の度合いを制御するマスターパラメータ)から、最もシンプルな+字型の動き(中心から4方向に直線的に開く)を構築してみましょう。この際、Construct PointVectorMoveSeriesGraph Mapperといったコンポーネントが非常に役立ちます。

シンプルな+字型ができた段階で、それを既存のスクリプトの他の部分(例えば、ファサード全体への適用やパネルの厚み付けなど)に繋ぎ直すことで、短時間での解決を目指せます。焦らず、一つ一つのコンポーネントが何をしているかを理解しながら進めてみてくださいね。応援しています!

─── 要約

Grasshopperで作成するキネティックファサードにおいて、開閉する要素の形状をX字型から+字型へ変更する際のロジックと具体的なコンポーネント活用法を解説します。既存のX字型スクリプトをベースに、幾何学的変換の考え方を理解することで、より多様なファサードデザインを実現したいGrasshopper初心者から実践者まで役立つ内容です。