10.6K Views
June 23, 21
スライド概要
デジタルツイン環境を構築する際にも使われることの多い点群。
実は、膨大なデータである "点群/PointCloud" をUnityで簡単に扱うことが可能です。
本日は、Unityを拡張した強力なツール【Interact】と【Stipple】をご紹介。
CADデータ、点群データを読み込めるのは当たり前、コードを書かなくてもすぐに使えます。
この機会にUnityの持つ可能性を広げてください!
リアルタイム3Dコンテンツを制作・運用するための世界的にリードするプラットフォームである「Unity」の日本国内における販売、サポート、コミュニティ活動、研究開発、教育支援を行っています。ゲーム開発者からアーティスト、建築家、自動車デザイナー、映画製作者など、さまざまなクリエイターがUnityを使い想像力を発揮しています。
点群を使いこなせ! xRと点群を組み合わせたUnityの世界
自己紹介 Developer Advocate - AEC 竹内一生 / Takeuchi Issey
本日のおすすめユーザー層 • 産業向けコンテンツ、DXなどを考えている方 • インハウスで手軽に工学シミュレーションを行いたい方 • とにかく 点群を手軽に扱いたい方 • とにかく VR/AR を直ぐに試したい方 • とにかく デジタルツインだ!という方
Generative Art — Made with Unity
点群をUnityで扱うためには Keijiro / Pcx Visual Effect Graph github 公式HP jujunjun110 / PointCloud VR Point Cloud Viewer and Tools github and more… Unity Asset Store
Unityのスペシャリスト集団 “LIGHT & SHADOWS” が提供する Unityを拡張する強力なツールたち 公式HP 公式HP 公式HP
LIGHT & SHADOWS ライトとシャドウは、設計プロセス、産業パフォーマンス、従業員の トレーニングを改善するための革新的なハードウェアとソフトウェ アを提供することにより、企業のデジタルトランスフォーメーション に貢献します。 実際、当社は工場4.0の主要なドライバーとして知られており、業 界の深い知識を身につけた専門家、博士号、エンジニアなどの熟 練したスタッフで構成されています。 拡張現実感やバーチャルリアリティなどの新しいデジタル技術の 開発を通じてソリューションを提供することで、お客様のニーズに 応える最善を尽くします。 さらに、私たちの目的は、これらの革新的で技術的なツールに慣 れることができるように、私たちのツールの使用を支援し、従業員 のトレーニングを確保することです。 ライトとシャドウはまた、航空機、自動車、鉄道、原子力、造船業界 を特に多くの業界で成功を収めました。 したがって、当社は、デジタルモデルから高度な仮想および拡張 現実アプリケーションを作成することを可能にするINTERACT開 発プラットフォームを販売しています。 事例
Generative Art — Made with Unity
Interact の特徴 INTERACTは、バーチャルリアリティで 3D CAD モデルを視覚化して操作するための強力なプラットフォームです。 このソリューションは、よく知られているゲームエンジンUnity3Dに基づいています。 そのため、独自のスクリプトを開発して、独自のニーズに合わせてソリューションをカスタマイズできます。 INTERACTは、 2つのコア技術を組み合わせた製品です。 Pixyzは、3Dデータを軽量化・最適化 するソリューションです。 CADデータから最適化されたメッ シュを生成できる、クラス最高のテ セレーターツールです。 詳細 Pixyz ※Pixyzは別途 xde XDEは、INTERACTで使用される物理エ ンジンであり、 剛体と柔軟な物体の衝突の検出だけで なく、特大の点群の視覚化などの複雑な シミュレーションを可能にします。 ※xdeはInteractに同梱 詳細
Interact の特徴 • • • • • • • CAD/BIM ファイルのインポート (Revit、Rhinoceros、SolidWorks、CATIA、3DXML、IGES、STEP …etc) 3D スキャン (点群) のインポート スケール 1:1 ビジュアライゼーション (HTC Vive、Oculus Rift、HoloLens、CAVE …etc) 組み込み物理エンジン(マルチボディダイナミクス、衝突検出、摩擦 …etc) 自然な相互作用(直接自分の手で3Dオブジェクトを操作) マルチユーザーおよびマルチコラボレーション リアルタイム人間工学的(エルゴノミクス)評価 生産シナリオの共同シミュレーション 点群の視覚化と相互作用 エルゴノミクス評価
Interact Main Features
SUPPORTED FORMATS CAD / 3D formats : Pointcloud formats CAD Design Softwares examples ※Pixyzは要らない .3dm .3ds .3dxml .asm .CATPart .CATProduct .CATShape .cgr .csb .dae .dwg .dxf .fbx .ifc .iges .igs .jt .neu .neu* .obj .p_t .par .pdf .plmxml .prc .prt .prt* .psm .pwd .sab .sat .skp .sldasm .sldprt .step .stepz .stl .stp .u3d .vda .vrml .wrl .wire .x_b .x_t .xas .xas* .xmt .xmt_bin .xmt_txt .xpr .xpr* .e57 .pts .ptx .las .db Catia SolidWorks Creo SolidEdge ACIS SAT VDA-FS Rhino VRML COLLADA Parasolid Sketchup 3dsmax AutoCAD モデルデータの読み込みは、Pixyzを推奨
IMPORTING CAD MODELS
IMPORTING CAD MODELS 3D モデルの読み込み時に細かく設定をすることが可能です。 LODなどの設定でモデルを軽くしたり、シミュレーションのパフォーマンスを調整します。 ドキュメント
IMPORTING CAD MODELS Level of Details (LOD) LOD(最適化手法)を使用すると、カメラからの距離が長くなるにつれて、オブジェクトに対してレン ダリングされる三角形の数を減らすことができます。 LOD は、ハードウェアの負荷を軽減し、レンダリングパフォーマンスを向上させます。 インポート ウィンドウでは、各 LOD を個別に設定できます。 LOD0 = Very-High preset 100% to 70% ドキュメント LOD1 = Poor preset 70% to 20% Culled (Hidden) Under 7%
IMPORTING CAD MODELS Cleaning CAD models パフォーマンスの問題が発生した場合(リフレッシュ レートが低い)、3D モデルに含まれるパーツが 多すぎる可能性があります。 小さな部品(例えばネジ)でさえ、かなりの数があるとパフォーマンスに大きな影響を与える可能性 があります。 2種類の方法で、CADモデルをきれいにすることが出来ます。 • Merge Parts この関数は、1 つのオブジェクトに複数のメッシュを結合します。 (複数のオブジェクトを選択するには、Ctrl キーを押したままにします) Merge by color : 同じ色を共有するすべてのオブジェクトが結合されます。 Merge by name : 特定の名前タグに従ってオブジェクトをマージできます。 ドキュメント
IMPORTING CAD MODELS Cleaning CAD models • Remove Parts しきい値より低い、またはより高いポリゴンの数を持つ部品を 削除することができます Ex:三角形が 1000 未満のパーツを削除する (ねじ、ボルトおよび軸受け) ドキュメント
Importing Point Clouds サポートされている点群ファイル形式: E57 (.e57) PTS / PTX (.pts, .ptx) LAS (.las) PointCloudファイルをコンピューター上のデータベース (.db) ファイルにエンコードします 。 ※ファイルの作成には、数時間かかることがあります。 プレイヤーの位置とポイント(点群数)に応じて、最も関連性の高いポイントを動的にストリーミング することが可能。 ドキュメント
Importing Point Clouds • Point cloud appearance : 3つの異なる視覚化モードが利用可能です(ポイント、スプラットまたは コーンとしてレンダリング) • Point budget : フレームごとに表示されるポイントの最大数。 フレーム レートの問題が発生した場合は、最大数を調整する必要があ ります。 • Point budget Mem: 視野付近のポイントのプリロードを可能にするキャッシュサイズを調整 します(シーンにポイントがポップアップするのを避けます)。 • Center Origin: 点群が見えない場合は、その原点が遠すぎる可能性があります。 Unity座標、中央に再設定することが可能。 ドキュメント
Importing Point Clouds INTERACT には、3D ポイント クラウドを手動で編集およびレンダリングするための基本的なツール が用意されています。 • Cropping and removing points トリミングと削除機能を提供する大きなボックスをインスタンス化します。 1 つのクラウドを選択するには、PointCloudTool のインスペクターの 「点群」 フィールドにド ラッグします。 Crop:ボックス内に含まれる点を使用して新しい点群(元の点群のサブセット)を作成します。 REMOVE CROP 消去 切り取り ドキュメント Original file
VR / AR Systems INTERACT には、各種デフォルト設定が用意されており、直ぐに体験を開始することが可能。 • • 背景3種類 (ホワイトラボ、工場、都市) デバイス類 ドキュメント
VR Systems VR MENU 大きく4種類に分類された機能が デフォルトで搭載しています。 ドキュメント
VR Systems VR 機能 抜粋 ワープ移動 ドキュメント 計測ツール キーボード 断面ツール
Xde Physics Engine XDE Physics Engine 正確な衝突検出などが可能になるインタラクティブな物理エンジンです。 使用例としては、アセンブリの検証、オブジェクトの操作などが挙げられます。 XDE は C++ で記述されており、最大限の効率を提供するように最適化されています。 Unity3D とは別のプロセスとして実行され、リアルな物理的な動作に従って、 シーン内のオブジェクトとの判定を画面にオーバーライドします。 ドキュメント
Xde Physics Engine Joint Type 複数のモデル(リジッド ボディ)と機械的なジョイントを非常に効率的に相互接続した複雑なシーンをアニ メーション化することができます。 単なるアニメーションだけでなく、動的効果の非常に正確なシミュレーションが可能。 Fixed Joint ドキュメント Free Joint Hinge Joint Prismatic Joint Mapped joint Helical joint
Xde Physics Engine Configuring Collisions 衝突検出の設定は非常に簡単で、衝突が発生したときにオブジェクトのグループがどのように動作するかを設定するだけ。 ※XDE では、 ‘Group of objects’ を‘Layers’と呼びます。 (ex : Layerの ‘Robots’ はシーン内の Robot タイプのすべてのオブジェクトを含みます)。 衝突検出を設定する際には、 ‘Layers’ を慎重に定義することが重要です。 ドキュメント
Xde Physics Engine Configuring Collisions ‘Layers’間で可能な当たり判定を定義できます。 2 つの‘Layers’(行と列) の交点をクリックすると、3 種類のインタラ クションを選択できます。 • None (empty square) : これらの2つの層の間で衝突が監視されません • Collision ( C ) : 衝突検出がアクティブになります。四角形の右側にあるチェック ボックスがオンの場合、衝突点の位置に赤い矢印が表示されます (下図を参照)。 Ex:カ プ セ ル と 立 方 体 の 衝 突 • Interference ( I ) : 2 つのオブジェクトは互いに貫通できますが、干渉は監視されます。 四角形の右側にあるチェックボックスをオンにすると、推論が発生 した場合、オブジェクトは黄色で表示されます。(下図を参照) ドキュメント Ex:カ プ セ ル と 立 方 体 の 干 渉
Xde Physics Engine Creating cable 3Dモデルを使用して、フレキシブルケーブルを生成することが可能(生成に使用した3Dモデルは非表示にする)。 ケーブルの変形を計算するには、2つの状態を設定する必要があります。 ①初期構成で、ケーブルの各ポイントの初期開始位置です。 ②ケーブルに内部応力がない位置。 ※真っ直ぐなケーブルの場合、初期位置と基準位置は同じです。 ドキュメント
Scenarisation Scenarization シナリオに沿ったコンテンツをノードベースで作ることが可能 ‘Scenario manager’は、実行時にビジュアル(軌道、ゴースト、指示パネル)を自動的に処理します。 シミュレーション(PLAYモードに切り替えた場合)では、ステップに対応するオブジェクトがターゲットに到達したときに、ス テップの遷移が実行されます。 ドキュメント
Scenarisation How to grab 3Dモデル(オブジェクト)を掴むことが可能 ‘Xde Asb Part’を対象となるモデルにアタッチすることで、手で持つことが可能になります。 ドキュメント
Ergonomics Motion Capture and Ergonomics Viveトラッカーを使用して人間の動きを再現することが可能 ボディトラッキングやエルゴノミクス評価など、さまざまな用途に使用できます。 スーツは両腕、足およびベルトのまわりの5つの装置で構成されています。 使用する際は以下のメニューから追加 ドキュメント
INDUSTRIAL toolbox INDUSTRIAL LIBRARY 一般的に使用されるプレハブコンポーネントが用意されています。 • Industrial Robots • Safety components (light curtains, safety lasers) • Production components (conveyor, operator panels) TEXTURE LIBRARY テクスチャと調整済みのマテリアルも用意されています。 ドキュメント
Multi-user Multi-User プレイヤーを2名以上追加することで、起動時に選択することが可能 ローカルサーバーとオンラインサーバー(自前で用意する必要あり)が 用意されている VRとデスクトップPCなど、混在させることも可能
Unity開発スペシャリストでVRとかARとかなんて余裕 点群だけ、Unityで自由に扱いたいんだ! というそこのアナタ 冒頭に紹介した Stipple をお忘れではないでしょうか? ここからも本番です!!
Generative Art — Made with Unity
Stipple 実は ... StippleはInteractに搭載されている点群の読み込みや編集機能を継承した製品です。 ※点群の当たり判定機能はInteractのxdeによるものなので実装されてない サポートされている点群ファイル形式: E57 (.e57) PTS / PTX (.pts, .ptx) LAS (.las) PointCloudファイルをコンピューター上のデータベース (.db) ファイルにエンコードします 。 ※ファイルの作成には、数時間かかることがあります。 プレイヤーの位置とポイント(点群数)に応じて、最も関連性の高いポイントを動的にストリーミングすることが可能。 ドキュメント
Compare ドキュメント
Point Cloud Cross Section ドキュメント
Edit point cloud ドキュメント
Stipple or Interact