PlayCanvas Web Components
PlayCanvas Web Componentsを使えば、HTMLだけでリアルタイム3Dをウェブページに組み込むことができます。各 <pc-*> タグはPlayCanvas Engineの構成要素(アプリ、シーン、カメラ、ライト)をラップしているため、ページの他の部分と同じ方法、つまりマークアップでインタラクティブな3Dシーンを構成できます。
上のシーンはドラッグで周回できます。シーン内のすべてのオブジェクト、ライト、マテリアルはHTMLで宣言されています。これは、ソースコード付きで公開されている30以上のライブサンプルのひとつです。
Web Componentsとは?
Web Components は再利用可能なカスタムHTML要素であり、シンプルで宣言的なインターフェースの背後に複雑な機能をカプセル化します。PlayCanvas Web Componentsは、PlayCanvas Engineの全機能を使いやすいHTMLタグでラッピングします。
<!-- HTMLだけで3Dシーンを作成します -->
<pc-app>
<pc-scene>
<pc-entity name="camera" position="0 0 3">
<pc-camera></pc-camera>
</pc-entity>
<pc-entity name="light" rotation="45 45 0">
<pc-light></pc-light>
</pc-entity>
<pc-entity name="ball">
<pc-render type="sphere"></pc-render>
</pc-entity>
</pc-scene>
</pc-app>
これがプログラムのすべてです。レンダリング結果は次のとおりです。

PlayCanvas Web Componentsを使用する理由
🚀 JavaScript不要
マークアップだけで、完全でインタラクティブな3Dシーンを作成できます。ビルドステップもエンジンのボイラープレートも不要で、必要にならない限りJavaScriptを書くこともありません。
🔧 すべての属性がライブ
属性はエンジンの機能に直接対応し、実行時の変更にも反応します。JavaScriptから、あるいはブラウザの開発者ツールから属性を更新すると、シーンは即座に更新されます。共通の規約については属性を参照してください。
⚡ フルスペックのエンジンが土台
これは簡略化されたおもちゃのレイヤーではありません。何千ものウェブアプリケーションを支えているものと同じPlayCanvas Engineがレンダリングを担い、WebGPUファーストでWebGL 2への自動フォールバックを備えています。
🌍 フレームワークではなくウェブ標準
Custom Elementsに基づいて構築されているため、プレーンなHTMLページでも、任意のフレームワークと組み合わせても動作します。ブラウザに求めるのは、WebGL 2またはWebGPU、ES Modules、Custom Elementsだけです。いずれも現行のChrome、Edge、Firefox、Safariで標準対応しています。
こんな方に最適
- 複雑な3Dプログラミングを学ぶことなくウェブサイトに3D要素を追加したいコンテンツクリエイター
- 既存のHTML/CSSワークフローに3Dグラフィックスを統合したいウェブ開発者
- おなじみのウェブ技術を通じて3Dの概念を教えている教育者
- 3Dのアイデアやコンセプトのラピッドプロトタイピング
- インタラクティブな製品ショーケースやデモを作成しているマーケティングチーム
アプリをReactで構築している場合は、React流のバインディングを提供するPlayCanvas Reactをご覧ください。Web Componentsはフレームワークを一切必要とせず、HTMLが動く場所ならどこでも動作します。
オープンソース&MITライセンス
Web ComponentsはGitHubでMITライセンスの下、オープンに開発されています。個人・商用を問わず自由に利用でき、コントリビューションも歓迎です。
このセクションの内容
まずは「開始」ガイドから始めましょう。数分でシーンをレンダリングできます。
- 開始 — CDNまたはnpmからライブラリを読み込み、最初のページをレンダリングします。
- シーンを構築する — カメラ、メッシュ、ライト、マテリアルを扱うステップバイステップのチュートリアルです。
- 属性 — すべてのタグに共通する値の規約です。
- スクリプトで動作を追加する — エンティティにエンジンのスクリプトをアタッチして、動きやインタラクティブ性を加えます。
- プログラムによるアクセス —
whenReadyを使ってJavaScriptから実行中のアプリを操作します。 - XR のサポート — シーンをVRやARに対応させます。
- タグリファレンス — すべての要素とその属性の一覧です。
- サンプル — ソースコード付きのライブデモ集です。