.glb を Web 環境無しで表示する方法
.glb(GLB:バイナリ形式の glTF)をWeb環境無しで表示したい場合、Pythonでできる主な方法は次の2つです:
目次
✅ 方法1:Open3D を使う(おすすめ)
最も手軽に .glb をローカルウィンドウに表示できる方法です。
🔧 必要なライブラリ
pip install open3d
📄 サンプルコード
import open3d as o3d
# GLBファイルを読み込み
mesh = o3d.io.read_triangle_mesh("your_model.glb")
# 法線の計算(必要に応じて)
mesh.compute_vertex_normals()
# ビューアーで表示
o3d.visualization.draw_geometries([mesh])
✅ 方法2:trimesh + pyglet / scene.show()
GLBを扱える別のライブラリ trimesh を使う方法。やや多機能で柔軟性あり。
🔧 必要なライブラリ
pip install trimesh pyglet
📄 サンプルコード
import trimesh
# GLBの読み込み
mesh = trimesh.load("your_model.glb")
# ウィンドウ表示(内部で pyglet 使用)
mesh.show()
⚠ 初回表示時にウィンドウ表示までやや時間がかかる場合があります。
❌ 難しい方法(避けたい)
pywavefrontは.glb非対応(.gltfのみ)Blenderの Python API でも可能だが、Blenderインストール必須で複雑
🧠 まとめ:ローカルで .glb を表示するなら
| 方法 | 特徴 | おすすめ度 |
|---|---|---|
| Open3D | 高速・簡単・ローカル表示可 | ⭐⭐⭐⭐⭐ |
| Trimesh | 多機能・GLB対応 | ⭐⭐⭐⭐ |
| Blender API | 高機能だがセットアップ大変 | ⭐⭐ |
必要なら .glb を表示した状態で回転・ズーム・保存などのやり方もサポートできますよ。どこまでやりたいですか?