— 2026.05.03 / Topic 03
Rhino/Grasshopperで複数オブジェクトにランダムな色ガラスマテリアルを割り当てるTips
返信数
─── 詳細記事
はじめに:ランダムなマテリアル割り当ての魅力 Rhinoでモデリングしたオブジェクトが多数あるとき、一つ一つに異なるマテリアルを設定するのは手間がかかりますよね。特に、ガラスのように透明度や色でバリエーションを出したい場合、Grasshopperを使えば驚くほど簡単に、そしてランダムにマテリアルを割り当てることができます。今回は、複数のキューブにランダムな色のガラスマテリアルを設定するロジックをご紹介します。
RhinoオブジェクトをGrasshopperへ取り込む まずは、Rhinoで作成したキューブやその他のオブジェクトをGrasshopperに取り込むことから始めましょう。Rhino上でマテリアルを割り当てたいオブジェクトを選択し、Grasshopperのキャンバスに配置した**Brep**コンポーネントを右クリックして「Set Multiple Breps」を選択します。これにより、選択したすべてのオブジェクトがGrasshopperのリストとして読み込まれます。このリストの長さを確認するには、**List Length**コンポーネントを使うと便利です。
ランダムなガラスマテリアルの生成ロジック 次に、各オブジェクトに割り当てるランダムな色のガラスマテリアルを生成します。ガラスのような透明感のある色を表現するには、色のグラデーションを利用するのが効果的です。
1. 乱数の生成: オブジェクトの数と同じだけ乱数を生成します。Randomコンポーネントを使用し、Rangeを「0.0 to 1.0」に設定します。N(乱数の数)には、先ほど取得したオブジェクトのリストの長さを接続します。
2. 色のグラデーション定義: Gradientコンポーネントを配置します。このコンポーネントをダブルクリックすると、グラデーションエディタが開きます。ここで、ガラスの表現に適した色(例えば、水色、緑、紫、オレンジなど)を複数設定し、カラースペクトルを定義します。これにより、0.0から1.0の範囲で様々なガラス色を生成できるようになります。
3. ランダムな色を抽出: Gradientコンポーネントの「t」入力に、Randomで生成した乱数のリストを接続します。これにより、グラデーションの中からランダムな位置の色が抽出され、オブジェクトの数だけ異なる色のリストが生成されます。
オブジェクトへのマテリアル適用とプレビュー 生成したランダムな色を、各オブジェクトにマテリアルとして適用し、Grasshopper上でプレビューします。
1. プレビューコンポーネントの利用: Custom Previewコンポーネントを配置します。Geometry (G) 入力には、最初に読み込んだRhinoオブジェクトのリストを接続します。Shader (S) 入力には、Gradientから出力されたランダムな色のリストを接続します。
2. マテリアルの調整: Custom Previewだけでは、単なる色付きオブジェクトとして表示されます。ガラスのマテリアル特性(透明度、反射など)をより忠実に再現するには、Materialコンポーネントを間に挟み、その設定を調整します。例えば、透明度を上げたり、反射率を設定したりすることで、よりリアルなガラス表現が可能になります。このMaterialコンポーネントをCustom PreviewのShader (S) に接続することで、Grasshopper上でマテリアルをプレビューできます。
最終的にRhinoオブジェクトにマテリアルを反映させたい場合は、Grasshopperのスクリプトをベイク(Bake)する際に、適切なマテリアル設定を行うか、HumanやElefrontなどのプラグインを利用して直接Rhinoのマテリアルを操作する方法も検討できます。
まとめ:応用とさらなる可能性 このテクニックをマスターすれば、建築パースのファサードデザイン、プロダクトデザインのバリエーション検討、データビジュアライゼーションなど、様々なシーンで活用できます。色のグラデーションを調整したり、乱数の生成方法を工夫したりすることで、さらに表現の幅を広げることが可能です。ぜひ、ご自身のプロジェクトで試してみてください。
─── 要約
Grasshopperを使って、Rhino上の多数のキューブなどのオブジェクトに対し、ランダムな色のガラスマテリアルを効率的に割り当てる方法を解説します。視覚的なバリエーションを素早く加えたいデザイナーや建築家、そしてGrasshopperでのマテリアル管理に興味がある方にとって、実践的なワークフローを学ぶのに役立つでしょう。
