OBJ、glTF、GLB のインポート
OBJ、glTF、GLB データのインポート
はじめに
FRI3D は OBJ、glTF、GLB ファイル形式のインポートをサポートしており、 建築のコンテキストモデル、スキャンされたジオメトリ、あるいは Blender、SketchUp、3ds Max などの モデリ ングツールで作成された外部メッシュといった、軽量な 3D アセットの可視化と統合を可能にします。
これらの形式は主にジオメトリと材料(マテリアル)を中心としたもので、エンジニアリングや BIM のセマンティクスではなく、 レンダリングと可視化を目的としています。 メッシュ、マテリアル、テクスチャ、シーン階層は含まれますが、耐火性能、材料、構造上の役割といった 分類情報や物理的なメタデータは一般に含まれていません。
シミュレーションの目的では、FRI3D はこれらのインポートを汎用的なジオメトリコンテナとして扱い、ユーザーが火災、空間、構造の分類のために手動でタグ付けできるようにします。
⚠️ 重要な注意: FRI3D における GLB および glTF インポート機能は現在限定的です。基本的なジオメトリのインポートはサポートされていますが、アニメーション、複雑なマテリアルプロパティ、一部の glTF 拡張などの高度な機能は完全にはサポートされない場合があります。リッチな 3D アセットを必要とする本番ワークフローでは、OBJ 形式の使用、または glTF/GLB ファイルをインポート前に OBJ へ変換することを検討してください。
形式の概要
| 形式 | 説明 | 主な用途 | 規格 |
|---|---|---|---|
| OBJ (.obj) | 頂点、法線、UV、マテリアル参照(.mtl)を格納するレガシーメッシュ形式。 | 3D モデリングツールやスキャンツールからのジオメトリエクスポート。 | Wavefront OBJ(Alias/Wavefront、1990 年代) |
| glTF (.gltf) | PBR マテリアルとテクスチャを備えた、3D シーンおよびアセットのための JSON ベースのオープン形式。 | リアルタイム可視化と Web 統合。 | Khronos glTF 2.0(2017 年) |
| GLB (.glb) | ジオメトリ、テクスチャ、マテリアルを埋め込んだ glTF のバイナリ版。 | コンパクトな Web/VR ストリーミング。 | Khronos glTF 2.0 |
構造とエンティティ
| 構成要素 | OBJ | glTF / GLB | 説明 |
|---|---|---|---|
| ジオメトリ | v, vn, vt, f | メッシュプリミティブ(POSITION, NORMAL, TEXCOORD) | 頂点ベースのメッシュジオメトリ |
| マテリアル | .mtl ファイル | PBR 属性を持つ materials 配列 | ディフューズ、ラフネス、メタリック、テクスチャ参照 |
| 階層 / ノード | グループ/オブジェクト行(g, o) | nodes, scenes | シーンの構成とトランスフォーム |
| テクスチャ | 外部画像 | 埋め込みまたは外部 | アルベド、法線、ラフネスマップ |
| アニメーション | — | オプション(glTF/GLB のみ) | トランスフォームまたはスケルタルアニメーションデータ |
| メタデータ | — | オプションのカスタム拡張 | 非標準のユーザー属性 |
⚠️ 注意: これらの形式は BIM や CAD 由来のネイティブ形式ではありません。
IfcWallやIfcSpaceのような IFC 的なエンティティクラスやエンジニアリングセマンティクスは含まれていません。 そのため、FRI3D の分類は命名規則またはユーザー定義のタグに依存します。
FRI3D でのインポートワークフロー
-
ファイル検出 FRI3D は
.obj、.gltf、.glb拡張子を自動的に識別します。 -
解析
- OBJ ファイルは 1 行ずつ解析され、メッシュとマテリアルが再構築されます。
- glTF および GLB ファイルは、Khronos glTF 2.0 仕様に準拠した JSON/バイナリリーダーで解析されます。
-
シーンの組み立て ノード階層、トランスフォーム、メッシュインスタンシングが再構築され、統一されたシーン表現が生成されます。
-
タグ付けと分類 スキーマメタデータが存在しないため、FRI3D は命名パターン(グループ/オブジェクト名など)またはユーザーによる手動入力から要素カテゴリを推定します。
-
変換と簡略化 メッシュは FRI3D の内部ジオメトリプリミティブ(三角形メッシュまたはバウンディングボックス)に変換されます。 マテリアルは可視化のために任意で使用されますが、シミュレーション属性(放射率、燃料タイプなど)は別途割り当てる必要があります。
ヒント: OBJ ファイルの場合はグループ名(
g)を使用します。 glTF/GLB の場合は、 ノード名またはextrasフィールドのメタデータを使用します。
信頼性と制限事項
OBJ および glTF/GLB のインポートは可視化用途では十分にサポートされていますが、IFC に比べてセマンティックな忠実度は限定的です。 FRI3D はこれらをジオメトリのみのソースとして扱うため、手動での分類やプロパティ割り当てが必要になることがよくあります。
- 物理特性(密度、放射率、耐火性能など)は保持されません。
- トポロジーや隣接関係の情報(壁、ドア、空間)はエンコードされていません。
- 座標系はソースツールによって異なる場合があります(Y-up と Z-up)。
- 精度はさまざまです。OBJ はテキストベースの座標を使用するため、大規模なシーンでは丸め誤差が生じます。
- マテリアルデータは可視化向けに最適化されており、シミュレーション向けではありません。
⚠️ 推奨: これらの形式は、コンテキストジオメトリ、可視化、または簡略化された環境に使用してください。 詳細な建物データと自動分類には、IFC インポートを優先してください。
サポートされるバージョン
| 形式 | サポートされる仕様 | 備考 |
|---|---|---|
| OBJ | Wavefront OBJ + MTL | ASCII のみ(バイナリ形式は非対応) |
| glTF | glTF 2.0 JSON | 外部テクスチャおよび埋め込みテクスチャに対応 |
| GLB | glTF 2.0 バイナリ | シーン全体を埋め込み。コンパクトなアセットに最適 |
例
OBJ の例
o FireDoor_Main
v 0.0 0.0 0.0
v 1.0 0.0 0.0
v 1.0 2.0 0.0
v 0.0 2.0 0.0
f 1 2 3 4
usemtl DoorMaterial