.glb
(GLTFバイナリ形式)ファイルの表示は C/C++、C#、Java、VBA でも「可能」です
はい、.glb
(GLTFバイナリ形式)ファイルの表示は C/C++、C#、Java、VBA でも「可能」ですが、難易度や使えるライブラリが異なります。以下に言語ごとに解説します👇
目次
✅ C / C++
可能? → ✅ 可能(最も本格的。ゲームエンジンでも使用)
方法:
- tinygltf(C++のGLTF/GLBローダー)
- OpenGL + Assimp(3Dアセットローダー)
- bgfx、Vulkan など他のレンダラーでもOK
- GLFW + GLM + OpenGLで表示が王道
難易度:⭐⭐⭐⭐⭐(手間はかかるが本格的)
✅ C#
可能? → ✅ 可能(Unityが最強)
方法:
- Unity(.glbはドラッグ&ドロップで表示可能)
- Unity内で
GLTFUtility
やKhronos glTF
パッケージで読み込み - 最も簡単で高機能、アニメーションもOK
- Unity内で
- Windows Forms / WPF + Helix Toolkit
- WPF + 3D表示 +
GLTFSceneImporter
を組み合わせる方法あり
- WPF + 3D表示 +
難易度:⭐⭐(Unityなら超簡単)
✅ Java
可能? → ✅ 可能(だがちょっと手間)
方法:
- jMonkeyEngine:GLTF2対応。3Dゲーム用。
- LWJGL (Lightweight Java Game Library):OpenGLラッパー。自分でGLTF読み込み処理を組む必要あり。
- libGDX:GLTF/GLBサポートあり
難易度:⭐⭐⭐(ゲーム系ライブラリ前提)
⚠ VBA(Excel / Access)
可能? → ⚠ かなり難しい(ほぼ不可能に近い)
VBA単体で 3Dモデルを .glb
のまま表示するのは 現実的ではない です。
→ 代替案:WebView2 (Edge) を使って Three.js を呼び出す などで、間接的に表示可能。
VBAの現実的な代替手段:
- VBA → WebView2 を使って HTML(Three.js) を表示
- 外部アプリ(UnityやOpen3D)を起動するVBAスクリプトを組む
🎯 まとめ
言語 | .glb 表示 | 難易度 | 方法例 |
---|---|---|---|
C/C++ | ✅ | ★★★★★ | OpenGL + tinygltf |
C# | ✅ | ★★☆☆☆ | Unity(GLTFUtility) |
Java | ✅ | ★★★☆☆ | jMonkeyEngine, LWJGL |
VBA | ⚠️難しい | ★★★★★★ | WebView2 + Three.js(間接表示) |
目的によって選ぶといいです:
- 3Dゲームや本格的なリアルタイム表示 → Unity(C#) / C++
- 簡単に見るだけ → JavaScript(Three.js)か Python(Open3D)
- ビジネスソフト内で表示したい → WebView2 + Three.js を VBA から操作
興味ある言語に絞って、具体的なコード例を出せます。どの言語でやってみたいですか?