Do You Like This Post?
記者の堀川です。この記事は堀川がテック関係で興味を持ったものを雑感交えて書いていくシリーズの中のひとつです。
2020年も終わりに近づいて、堀川が待ちに待ったRhinoceros 7が発表されました。この記事では特に堀川が興味をもった新機能を観ていって、それぞれ堀川が考えられる中でその可能性を見ていきたいと思います。
基本的にはRino3dの新機能ページをさらっていく形になるので、どんな新機能があるかすべてを見たい方はそちらからどうぞ。
Rhino 7の注目機能の一つ、SubDです。一般的にサブディビジョンサーフェースと呼ばれる、荒いメッシュに頂点を加えてスムースにしていく処理を公式サポート化し、Rhino 7ではMeshタイプからBrepタイプを作れるようになりました。これまではプラグインでT-SplineとかClayooなどで同じことができましたが、これが公式にできるようになったということで、より複雑な有機的な形状を精密な寸法を扱うことを意識した3D CADで使えるようになりました。特に製造業には朗報だと思います。
Grasshopperにもまだ少ないですがSubD関連のコンポーネントなども追加されていて、可能性を感じます。メッシュモデリングと似たようなフローで3D CADのデータとしてモデリングできるのはCNCなどで機械加工したい場合などには非常に強力な機能となりそうです。
Rhino.InsideはRhino 7から使えるようになった、特に開発者にとって注目の機能です。Windows 64bitの環境からに限られますが、なんとRhinoがインストールされているPC内で、他のソフトウェアがRhinoやGrasshopperが持つリッチな関数を利用することができるようになりました。例えば、Brepのブーリアンの処理など、1から実装すると大変な処理を、Rhino.Insideという機能を利用することで自分の開発したアプリケーション内でそのための関数をそのまま利用することができてしまいます。
すでに色々なアプリケーションと連携できるようなプラグインが作られていますが、特に公式に推されているのがAutodesk Revitとの連携です。ここで特に想定されているのは、Grasshopper上で作ったモデルがそのままBIMデータとしてRevit上で使えるようにするというところです。そのためのRhino.Insideの機能を利用したコンポーネントもすでに多く出ており、これまで以上にRhino <-> Revitの連携が簡単になりそうな印象です。RevitにもDynamoというビジュアルプログラミング環境がありますが、Grasshopperはジオメトリモデリングに特化している分、Dynamoと比べてモデリングに関しては一日の長があります。
他にもUnityやIllustrator、Pythonから直接Rhino.Insideを利用するなど、使える場所はWindows 64bitアプリケーションである限りどこからでも可能で、これは開発者、とくにRhinoの関数を利用したいジオメトリ系のアプリケーションを作るような人にとっては素敵な機能だと思います。
Mesh系のCGツールでも重宝される、QuadRemesh機能がRhinoにも公式できました。これもまた熱いです。メッシュ系ツールでは綺麗なメッシュのエッジの流れを出すことでテクスチャリングやジョイント付を綺麗にできるようにすることを目的として使われることが多い印象ですが、建築や製造ではより解析的な目的でこのQuadRemesh機能を使えそうです。例えば流体解析や有限要素法などの数値解析をするための最適な形状を作りやすくなりそうです。
RhinoのQuadRemeshが特別なのはメッシュやサーフェース、SubDにも使えるということで、メッシュ系のCGツールよりも幅広いジオメトリの構造をサポートしている点かと思います。また他のCGツールだと有料のプラグインとして初めて使えるということも多い機能で、Rhino 7を持っていればこの機能にアクセスできるというのは見逃せないです。
個人的に大変お世話になっているGrasshopperもアップデートされました。いくつか新しいコンポーネントなども追加されています。その中でも注目株が、先程紹介したRhino.Inside.Revitのコンポーネント郡と、Grasshopper上でシェーダーが書けるというGhGLでしょうか。このあたりの具体的な内容は別の機会に。
ただ一般的なRhino/Grasshopperユーザにとっての注目株は、Grasshopper Playerという機能ではないでしょうか。これは、作ったGrasshopperのファイルをプラグインとしてライノコマンドから直接呼び出すことができてしまうという機能です。つまり、パラメトリックモデルをシェアする際、Grasshopperをわざわざ開いてもらう必要がなくなり、デザイナーがGrasshopperで組んだモデルをコマンド経由で再現できるようになるという機能です。経験から言いますが、大抵他人が書いたGrasshopperのデフィニションは見られたものではありません(テキストベースのコーディングと違って同じ作り方でもコンポーネントの配置の仕方で見えやすくも見えにくくもなるため)。そのようなGHファイルをGHが使えない人に開いてもらってスライダーを動かしてもらうというのはなかなかハードルが高いものです。そういった問題を解決する可能性が大きい素敵な機能です。
Rhino周りの開発環境もアップグレードしました。例えば次のようなものがあります。
Rhino 7からプラグインなどをパッケージマネージャー経由でインストールできるようになりました。開発者はパッケージマネージャーからアクセスできるレポジトリにプラグインを登録する必要がありますが、これまでFood4Rhinoに飛んでからダウンロードしていた流れを簡略化できるようになるのでありがたいです。
他のC#環境やPython、JavascriptなどからRhinoモデルの読み書きをすることができるライブラリを無料で使うことができます。無料で使える分、使える関数は限られていますが(例えばインターセクションの機能がないなど)、ウェブなどでライノのモデルをロードして表示したいみたいな単純な用途では便利です。
Rhino.Insideを利用した機能のひとつで、ライノの関数をAPI化してネットワーク経由で使えるようにできる機能です。これもまた開発者にとっては強力な機能のひとつです。
Grasshopper上でシェーダーの開発ができるなかなかユーザーの的を絞った機能です。Rhinoディスプレイ上でカスタムな見た目を作りたい人には便利かもしれません。
RhinoCommonはライノの関数をまとめたSDKの総称ですが、Rhino 7になって新しい機能も加わりましたSubDやQuadRemeshなどに関係ある機能はもちろん、従来のジオメトリ系の関数もパラメータが増えてアップデートされているものがいくつかあります。
今回はざっとRhino 7の新機能をみていきましたが、今後自分がいくつかの機能を実際に使っていく中で、また詳細なレポートもできたらと思います。今日はここまで。
堀川
ミートアップや情報発信などの活動を維持するためにPatreonでのサポートをお願いします。