デコーダーパターンによる3Dジオメトリの読み込み by Andrey Kuzmin

関数型まつり2025
採択
公募セッション25分
公募セッション Beginner Intermediate 導入事例 ライブラリ/フレームワーク 理論

デコーダーパターンによる3Dジオメトリの読み込み

unsoundscapes Andrey Kuzmin unsoundscapes
1

対象とする聴衆のレベル(該当するレベルを記載してください。)

  • Beginner: 分野の前提知識を必要としない
  • Intermediate: 分野の基礎知識を持っている

セッションのテーマ(該当するテーマを記載してください。なければ追加頂いて良いです)

  • 理論
  • ライブラリやフレームワーク
  • 導入事例

セッションの概要

OBJファイルフォーマットから3Dジオメトリを読み込むために、elm-obj-fileパッケージを使ってデコーダーパターンを使う方法を説明します。OBJフォーマットにはglTFのシーングラフのような最新の機能はありませんが、デコーダーパターンを使うと:

  • 3Dモデルの必要な部分だけを読み込めます(オブジェクト名、マテリアル、グループで)
  • 複数のプリミティブタイプを読み込めます(点、線、三角形、面、テクスチャ付きメッシュ)
  • 座標系と単位を変換できます
  • シンプルなデコーダーを組み合わせて、複雑な形状を作れます

Blenderから作ったモデルをウェブアプリケーションに読み込む実例を示します。

トークの内容:

  1. デコーダーパターンの説明
  2. OBJフォーマットへのパターンの適用
  3. Blenderとelm-3d-sceneやelm-physicsを使った実例

得られること:

  • 複雑なデータフォーマットを解析するためのデコーダーパターンの使い方
  • 関数型プログラミングによるファイルフォーマットの柔軟な扱い方
  • Elmで3Dモデリングソフトとウェブアプリケーションを連携させる方法