Pythomで .glb を 表示する方法

Pythom .glb を window 表示する

.glb(GL Transmission Format Binary)ファイルを Pythonウィンドウ上に表示したい場合、以下のような選択肢があります:


✅ 方法1:pygltflib + pythreejs + Jupyter Notebook(ブラウザ表示)

  • Jupyter環境がある場合、.glbを読み込んでブラウザ上で表示可能です。
  • ただし、ウィンドウで直接表示というよりはWebベース

✅ 方法2:pyglet + pywavefront + OpenGL(ローカルウィンドウ表示)

この方法なら、Python単体でローカルウィンドウ上に .glb/.gltf モデルを表示可能です。
ただし .glb はバイナリ形式のため、pywavefront では直接扱えません。
.glb.gltf に変換して表示するのが一般的です。


目次

🎯 おすすめの方法(ウィンドウ表示したいならこれ)

ステップ①:blender.glb.gltf 変換

.glb ファイルを .gltf に変換
(または手動で変換しておく)


ステップ②:Pythonコードで表示

pip install pyglet PyOpenGL PyWavefront
import pyglet
import pywavefront

# ウィンドウ作成
window = pyglet.window.Window(width=800, height=600, caption="GLTF Viewer")

# glTFモデルの読み込み(glbではなくgltfを使う)
scene = pywavefront.Wavefront('model.gltf', collect_faces=True)

@window.event
def on_draw():
    window.clear()
    scene.draw()

pyglet.app.run()

.glbを読み込むには pygltflibtrimesh を使う必要がありますが、3D表示は自分で描画処理を書く必要あり。簡単に済ませたいなら .gltf + pywavefront が一番楽。


代替案(GLBを直接表示したい場合)

  • trimesh + pythreejs(Jupyterで表示)
  • BlenderのPython APIを使ってGLBを表示
  • vtkOpen3D でウィンドウ表示(Open3Dが割と簡単)

☑ まとめ

方法.glb対応ウィンドウ表示難易度
pyglet + pywavefront×(glTFのみ)★★☆☆☆
trimesh + pyglet✅(GLB可)✅(頑張れば)★★★☆☆
Open3D★★★☆☆
Jupyter + pythreejs×(Web表示)★☆☆☆☆

必要なら .glb.gltf 変換のやり方や、Open3Dを使った表示例も書けますよ!どうしますか?

よかったらシェアしてね!
目次