【集中講座】Rhino: 平坦化系コマンド – UnrollSrf・Squish・Smashなど –

Rhinoには3Dから2Dに平坦化を行うさまざまなコマンドがあります。
ここでは使用頻度の高い UnrollSrf、UnrollSrfUV、Squish、Smash、SquishBack、CreateUVCrvについての機能概要、適した用途について比較を行いながら紹介します。

主な機能と用途一覧

コマンド名アイコン元サーフェスの曲率対象オブジェクト主な機能向いている用途
UnrollSrf1方向サーフェス、ポリサーフェス正確で伸縮のない平坦化板金・紙モデルなどの正確な展開
UnrollSrfUV1方向サーフェス、ポリサーフェスUV情報を保ちながら平坦化テクスチャをそのまま平面化したい
Squish2方向メッシュ、サーフェス歪みをコントロールしながら近似展開布・レザーなど柔らかい素材の型紙
Smash限定しないサーフェスSquishの元コマンド非展開曲面の単純な展開
SquishBack2方向サーフェスSquishで平坦化したサーフェス上に曲線を作成し元の曲面サーフェスに曲線を戻す平坦化したサーフェスで位置を見ながらパターンを作成
CrateUVCrv限定しないサーフェスUV情報をワールドXY面にアンラップ矩形曲線上でパターンなどを作成し3Dに反映

UnrollSrf

UnrollSrf:サーフェスメニュー>サーフェスの平坦化>可展サーフェスを展開

UnrollSrfの特徴

  • UnrollSrfコマンドは1方向の曲率のみのサーフェス・ポリサーフェス(可展サーフェス/平面ポリサーフェス・円柱・かまぼこ形状などを、正確に平面サーフェスへ展開するコマンド。
  • 展開元と展開後の形状は面積・長さが 正確に一致
  • オプションの「分解=いいえ」にすると、エッジ同士がつながった状態で展開される(下図)。
  • オプションの「番号=はい」にするとエッジに番号が追加される。

UnrollSrfの適した用途

  • 板金
  • ペーパークラフトや木材パーツへの展開
  • 船舶・建築の可展サーフェスの展開
  • 正確な長さが要求される加工

UnrollSrfUV

UnrollSrfUV:サーフェスメニュー>サーフェスの平坦化>サーフェスUVを展開

UnrollSrfUVの特徴

  • UnrollSrfコマンドと基本的にはほぼ同様の機能だが、UnrollSrfUVコマンドは元のサーフェスのUVを保ちながら平坦化する。精度を優先したい場合はUnrollSrfコマンドを使用する。
  • 下図は左の円錐をUnrollSrfコマンドとUnrollSrfUVコマンドで平坦化、平坦化したサーフェスのアイソカーブに沿ってFlowコマンドでテキスト(赤)をフロー変形し、最後にFlowAlongSrfコマンドで円錐に貼り付けた例。UnrollSrfコマンドの場合(左)はテキストが裏返っているが(UV方向の不一致)、UnrollSrfUVコマンド(右)では正しい向きで貼れている。

UnrollSrfUVの適した用途

  • UV上の相対的配置を使いたい場合
  • 可展サーフェスを平面サーフェス化し、元の形状に沿った加飾パーツを作成したい場合

Squish 、Smash 、SquishBack

Squish:サーフェスメニュー>サーフェスの平坦化>複曲面をスクイッシュ
Smash:サーフェスメニュー>サーフェスの平坦化>複曲面をスマッシュ
SquishBack:サーフェスメニュー>サーフェスの平坦化>曲線と点のスクイッシュを戻す

Squish、Smashの特徴

  • Squish・Smashコマンドは、展開不可能な曲面(複曲面/2方向に曲がっている面/例:球、鞍形、複雑なNURBS曲面)を、歪ませながら近似的に展開する
  • Squish・Smashコマンドはポリサーフェスでは使用できないので、単一サーフェスにする必要がある。
  • Squishコマンドは展開精度と形状優先度をオプションで調整できる。
    設定方法は開発元のRhinoヘルプページに詳しく記載されている。
    下図はオプションの「エッジ長さのフィードバック=はい」に設定した例。圧縮された領域を赤い点群で、伸ばされた領域を緑の点群で印を付け、圧縮または伸張の量の統計を可視化する。エッジ長さ、面積で設定可能。
  • SmashコマンドはSquishコマンドの前身のコマンドで、現在は基本的にはSquishコマンドの試用が推奨されている。Smashコマンドは精度はSquishコマンドより劣るが、下図の半球のようにSquishコマンドが展開できない形状でもSmashコマンドで展開できることがある。

Smashコマンドを実行時、元のサーフェスと面積が許容差を超えて異なる場合、下図のようなメッセージが表示される。

SquishBackの特徴

・Suquishコマンドで平坦化したサーフェスに曲線でパターンを描き(右)、SquishBackコマンドで元のサーフェス上にパターンを展開(左)することができる。下図は単純な形状だが、シューズなどの複雑なサーフェスの場合、後述のCreateCrvUV+FlowAlongSrfを使うより、イメージ通りの場所に配置がしやすい。

Squishの適した用途

  • ソフト素材(布、レザー)の型紙作成
  • 展開不可能なオーガニック形状を平面化
  • 正確な長さより、形状の雰囲気を保持したいケース

CreateUVCrv

CreateUVCrv:曲線メニュー>オブジェクトから曲線を作成>サーフェスのUV曲線を生成 

CreateUVCrvの特徴

  • サーフェスエッジおよびサーフェス上の曲線・点を、UV情報を保ったまま平面上に展開する。

CreateUVCrvの適した用途

・サーフェスを矩形化し、分割して繰り返しパターンなどの加飾パーツを作成したい場合。

作成例

  1. Sphereコマンドで球を作成。
  2. Rebuildコマンドで制御点数をUVそれぞれ8に変更。
  3. ExtractIsocurveコマンドでオプションの「すべて抽出」で球のUVそれぞれのアイソカーブを作成。
  4. CreateUVコマンドでサーフェスとアイソカーブを順に選択し実行する(右図)。

⑤平面上でパターンをモデリングし(右図)、FlowAlongSrfコマンドで元の球に貼り付ける(左図)。

Grasshopperの平坦化系コンポーネント

Grasshopperには純正の平坦化系コンポーネントは存在しませんが、下記プラグインがあります(2025年12月現在)。
注:Grasshopperプラグインはサードパーティー製品であり、アプリクラフトでは取り扱いをしておりません。そのためサポート・使用方法・不具合等のお問い合わせの対象外となります。ご自身の責任にて、ご導入・ご使用いただきますようお願いいたします。

ShapeMap

Squishコマンド~SquishBackコマンドに近い機能で平面上にデザインした任意の曲線テクスチャを複雑な3Dモデルの表面にマッピングすることができます。

ShapeMap紹介ページ(Food4Rhinoサイト) https://www.food4rhino.com/en/app/shapemap

Squisher

Squishコマンドのような複曲面やメッシュを平坦化するための3つのコンポーネントを追加できます。

Squisher紹介ページ(Food4Rhinoサイト) https://www.food4rhino.com/en/app/squisher

まとめ

平坦化系コマンドは展開図や平面サーフェスへの展開だけでなく、フロー系のコマンドと組み合わせることで、3D上では難しいパターンを平面上で作成・貼り直すことが出来ること、似たように見える各コマンドの違いもお分かりいただけたかと思います。

また単曲面を平坦化する場合はUnrollSrfで正確な面積・長さにて展開できますが、複曲面ではSquish・Smashで展開しても面積や長さが元サーフェスと同じではないという図を、最後に記載しておきます(各図右下のAreaが面積値)。

用途や形状タイプにあわせて、平坦化系コマンドをご活用いただければ幸いです。

余談:Smashアイコンについて

Rhino7までのSmashコマンドのアイコンは、轢かれたネコのデザインでした。
初期のRhinoでは”Smash”でなく”Roadkill”というコマンド名だったことに由来するようです。
ソース(開発元フォーラムより):
https://discourse.mcneel.com/t/alternate-logo/213544/47
https://discourse.mcneel.com/t/old-roadkill-icon/45156

Rhino7までのSmashアイコン

Rhino8からは拳のアイコンに変わりました。時代の変化と動物愛護の観点から変更されたのかもしれません。

Rhino8からのSmashアイコン