Google Model Viewerとは?
Google Model Viewer(以下Model Viewer)は、3DモデルをWeb上で表示するためのライブラリです。GoogleによるオープンソースのWeb技術で、内部的には「Three.js」という3Dグラフィックスライブラリを活用しています。
2024年5月にModel Viewerの簡単な使い方について解説しましたが、10月になって新しいメジャーバージョンであるv4.0.0がリリースされました。本記事では、この新しいバージョンについて紹介します。
特徴
<model-viewer />
という単純なHTMLタグを使うだけで3Dモデルが表示可能- オープンソースで無料利用可能
- スマートフォンでARとして表示する機能も搭載
- Three.jsの複雑な設定を意識せずに使える
最新バージョン(v4.0.0)の新機能と改良点
1. トーンマッピングの進化:より自然な色表現へ
トーンマッピングとは?
高ダイナミックレンジ(HDR)の画像データを、一般的なディスプレイで表示可能な低ダイナミックレンジ(LDR)に変換する技術です。
具体的な変更点:
- 旧バージョン:「ACES」(映画業界標準)がデフォルト
- 課題:明るい黄色や緑・青の色再現が難しかった
- 新バージョン:「PBR Neutral」がデフォルト
- 特徴:Eコマースや製品表示に最適化
- メリット:より正確な色の再現が可能に
※従来のACESを使いたい場合は tone-mapping="aces"
と指定することで利用可能です。
2. カメラオービットの最適化
カメラオービットとは?
3Dモデルの周りをカメラが回転する際の設定のことです。
変更内容:
- 旧設定:
Infinity 157.5deg auto
- 新設定:
Infinity 180deg auto
- 効果:より自然な視点での3Dモデル表示が可能に
3. Materials APIの大幅改善
Materials APIのサンプルがWebXRモードで動作するようになりました。
実際のデモは<model-viewer> Materials & Scene Examplesにて確認できます。
再現するためのコードもあるので、内容を確認してください(長いので、この記事中には掲載しません)。
4. Three.jsの最新化
- 内部で使用しているThree.jsがr169にアップデート
- 参考:2024年11月時点でのThree.js最新版はr170
導入方法(詳細手順)
1. 基本的なセットアップ
HTMLファイルに以下のスクリプトを追加します:
<script
type="module"
src="https://ajax.googleapis.com/ajax/libs/model-viewer/4.0.0/model-viewer.min.js">
</script>
2. 3Dモデルの表示方法
実際の使用例(スミソニアン博物館の宇宙服3Dモデルを表示)
<model-viewer
src="shared-assets/models/NeilArmstrong.glb" ar
environment-image="shared-assets/environments/moon_1k.hdr"
poster="shared-assets/models/NeilArmstrong.webp"
shadow-intensity="1"
camera-controls
touch-action="pan-y">
</model-viewer>
主要な属性の説明
alt
: モデルの説明文(アクセシビリティのため重要)src
: 3Dモデルファイルのパスar
: AR表示機能の有効化environment-image
: 環境マップの設定poster
: 読み込み中に表示される画像shadow-intensity
: 影の強さcamera-controls
: カメラ操作の有効化
ブラウザ対応状況
- 最適な動作: Chromium系ブラウザ(Google Chrome、Microsoft Edge)
- 一部制限あり: Safari
- 実験的機能の一部が利用できない場合あり
- 基本的な3Dモデル表示は問題なし
活用シーンと具体的な使用例
3Dモデルのプレビューと共有
- 製品の3Dカタログ
- デザインレビュー用の3Dモデル共有
Eコマース活用
- 商品の360度ビュー
- スマートフォンでのAR試着・設置シミュレーション
- 詳細な商品検証用の3Dビューワー
建築・不動産分野
- 建築モデルの3D表示
- 内装のバーチャルツアー
- 建築計画の3Dプレゼンテーション
教育コンテンツ
- 3D教材の作成
- 歴史的建造物の立体表示
- 科学実験のシミュレーション
インタラクティブコンテンツ
- JavaScriptと連携した対話的な3D表示
- ユーザー操作による3Dモデルのカスタマイズ
向いていないケース
- 物理演算を多用する3Dゲーム
- 複雑なアニメーションが必要なコンテンツ
- 高度なグラフィックス処理が必要なシミュレーション
まとめ
Model Viewerは、特に以下の点で優れた選択肢となります:
- 導入の簡単さ
- 豊富な機能セット
- v4.0.0での色表現の改善
- AR/VR対応の充実
3Dコンテンツの実装を考えている方は、ぜひModel Viewerの活用を検討してみてください。特に最新のv4.0.0では、より実用的な改善が施され、さらに使いやすくなっています。
公式ドキュメントやサンプルコードを参考に、まずは簡単な実装から始めてみることをお勧めします。ARやVRでの活用も視野に入れながら、革新的なWebコンテンツを作っていけることでしょう。