AR機能でBREPの一部しか表示されない問題
Rhino/Grasshopperユーザーの皆さん、こんにちは!
今回は、AR(拡張現実)機能でモデルを表示する際に、特定のBREP(Boundary Representation)が正しく表示されないという問題について掘り下げていきます。特に、Rhino 8とShapeDiverのARビューアを組み合わせて利用しているユーザーから報告された事例をもとに解説します。
あるユーザーは、Rhino 8のEUサーバーに切り替えた後、ARモデルが機能しなくなるという問題に直面しました。具体的には、GrasshopperでDivide Curveコンポーネントを用いて曲線上の複数の点を作成し、それぞれの点からBREPソリッドを生成していました。しかし、ARビューアでは、最初の点から生成されたBREPしか表示されず、残りのBREPがAR空間に現れないという現象が発生したのです。
以前はUSサーバーで問題なく動作しており、ArrayコマンドでBREPを配置した際にもAR表示に問題があったため、Divide CurveからのBREP生成に切り替えていた経緯があります。この問題は、ShapeDiverのARビューアで特に顕著に現れ、提供された簡略化されたファイル(Pergola_attached_wood_3.gh)で開発チームも再現に成功しました。
問題の核心と開発側の対応
このAR表示の問題は、複数のBREPを生成する際の方法に起因していることが判明しました。ユーザーがBREPを「コピー」していることが、開発チームによって指摘されています。つまり、同じBREPのインスタンスを複数作成し、それぞれを異なる位置に配置している場合に問題が発生しやすいということです。
開発チームは、この現象がAR機能におけるバグであることを認識し、現在修正作業を進めているとのことです。ユーザーからの具体的な再現手順とファイル提供が、問題解決に大きく貢献しました。
暫定的な回避策と推奨される方法
では、修正が完了するまでの間、どのようにこの問題に対処すれば良いのでしょうか。開発チームからのヒントとして、「変換属性(transformation attribute)を使用する」という方法が示唆されています。
具体的には、Grasshopperで複数のオブジェクトを配置する際、単にBREPをコピーするのではなく、元のBREPに対してMove、Rotate、Scale、またはOrientといった変換コンポーネントを適用して配置することを検討してください。これにより、ARビューアが単一のBREPとその変換情報として認識し、正しくレンダリングされる可能性があります。
例えば、Moveコンポーネントを使ってBREPを移動させたり、Orientコンポーネントで基準平面に沿って配置したりする方法が考えられます。これにより、システムが複数の独立したコピーではなく、一つのオブジェクトの異なる「ビュー」として処理し、ARでの表示が改善される可能性があります。
まとめと今後の展望
今回のAR機能におけるBREP表示の問題は、ShapeDiverのAR機能のバグであり、現在修正が進行中です。それまでの間は、BREPを単純にコピーするのではなく、MoveやOrientなどの変換コンポーネントを用いて配置することで、ARでの表示問題を回避できる可能性があります。
ShapeDiverのようなプラットフォームでは、効率的なデータ処理のために、オブジェクトのインスタンス化や変換行列の適用が重要となる場合があります。修正が完了すれば、より柔軟なモデリング手法でAR機能を活用できるようになるでしょう。最新の情報に注意しつつ、このTipsを参考にARモデルの作成を進めてみてください。
