Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PlayCanvasで XRコンテンツ開発体験 [2023/09/28]
Search
PlayCanvas運営事務局
September 28, 2023
Programming
0
150
PlayCanvasで XRコンテンツ開発体験 [2023/09/28]
PlayCanvas運営事務局
September 28, 2023
Tweet
Share
More Decks by PlayCanvas運営事務局
See All by PlayCanvas運営事務局
PlayCanvas で作るバーチャルショールーム
playcanvasjp
0
310
PlayCanvasで作るバーチャルコンテンツの紹介
playcanvasjp
0
200
Other Decks in Programming
See All in Programming
なぜselectはselectではないのか
taiyow
2
310
新卒から4年間、20年もののWebサービスと 向き合って学んだソフトウェア考古学
oguri
8
6.7k
Coding Experience Cpp vs Csharp - meetup app osaka@9
harukasao
0
110
生成AIの使いどころ
kanayannet
0
100
The Evolution of Enterprise Java with Jakarta EE 11 and Beyond
ivargrimstad
0
930
バックエンドNode.js × フロントエンドDeno で開発して得られた知見
ayame113
5
1.3k
php-fpm がリクエスト処理する仕組みを追う / Tracing-How-php-fpm-Handles-Requests
shin1x1
5
820
複雑なフォームと複雑な状態管理にどう向き合うか / #newt_techtalk vol. 15
izumin5210
4
3.1k
リアクティブシステムの変遷から理解するalien-signals / Learning alien-signals from the evolution of reactive systems
yamanoku
2
1k
AI Agents with JavaScript
slobodan
0
110
NestJSのコードからOpenAPIを自動生成する際の最適解を探す
astatsuya
0
190
Develop Faster With FrankenPHP
dunglas
2
2.5k
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
183
22k
A better future with KSS
kneath
238
17k
Code Review Best Practice
trishagee
67
18k
A Philosophy of Restraint
colly
203
16k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
118
51k
How to Ace a Technical Interview
jacobian
276
23k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Designing Experiences People Love
moore
141
23k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
How GitHub (no longer) Works
holman
314
140k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.4k
Transcript
PlayCanvasで XRコンテンツ開発体験 2023/09/28 PlayCanvas運営事務局 城⼾‧津⽥
PlayCanvasとは Webブラウザ向けに作られた WebGL/HTML5ゲームエンジン • オープンソース(MIT) • 制作したコンテンツはブラウザ上で動作 • 閲覧するのに特別なアプリは必要なし •
開発はブラウザ完結、環境構築の必要もなし • コーディングに使うのはJavaScript ゲーム、産業、建築など幅広く活⽤されています
PlayCanvas運営事務局とは ⽇本独占代理店としてPlayCanvasの販売 また、⽇本国内でのPlayCanvasの普及を⽬的に活動しています。 お問い合わせによるテクニカルサポートや開発‧運⽤‧新着情報などあらゆる知 ⾒や情報をヘルプセンターやSNSで共有をおこなっています。 お問い合わせ: https://playcanvas.jp/contact/ ヘルプセンター: https://support.playcanvas.jp/hc/ja/
登壇者 / ⾃⼰紹介 • 城⼾ 雄⼤ ◦ Webエンジニア / CRE
• 津⽥ 良太郎 ◦ 事業責任者
今回のハンズオン PlayCanvasで XRコンテンツ開発を体験してみましょう! 1. テンプレートについて 2. プロジェクト準備 2.1. Zap Worksの準備
2.2. スターターキットについて 3. ZapWorksの機能を体験 3.1. Face Tracking 3.2. Instant Tracking 3.3. Image Tracking
XR(VR/AR)プロジェクトを作成するには 4つのプロジェクトが選択できます • VR Kit • WebXR AR Starter Kit
これら2つは WebXR は iOS 未対応 • 8th Wall AR World Tracking ◦ 8th Wallの有償プラン必要 • Zapper AR Instant Tracked ◦ セルフホスティング時にEnterprise必要 これら2つは iOS / Andorid に対応 1.テンプレートについて
• Zap Worksとは ◦ Zappar社提供のサービス ◦ Zap WorksのUnivarsal ARは以下の機能を持っているSDKです ▪
Face Tracking ▪ Image Tracking ▪ World Tracking ◦ Universal ARはPlayCanvasの他にも Three.js, A-frame, JavaScript, Unity, Babylon.jsなどに 対応しており、それぞれドキュメントが公開されています。 → https://docs.zap.works/universal-ar/ 今回はこのSDKをPlayCanvasで利⽤します。 2. プロジェクト準備
ZapWorksにアクセスします → https://zap.works/ • Loginをクリック アカウントを作成していない場合は 新規アカウントを作成します 2.1 Zap Worksの準備
1. ZapWorksのプロジェクトページからDownloads & SDKsをクリック 2. SDK for PlayCanvasを選択 2.1 Zap
Worksの準備 Downloads & SDK ページを開く SDK for PlayCanvasを選択
1. Open on PlayCanvas をクリック 2.1 Zap Worksの準備
1. Zapperが所有するプロジェクトにアクセスしたら、Forkします 2. ForkしたらEditorをクリックしてエディター画⾯に進みます 2.1 Zap Worksの準備
SETTINGSのEXTERNAL SCRIPTSから2つのSDKがPlayCanvasがロード前に読み込まれています 2.2 スターターキットについて SETTINGSをクリック 2つのSDKが読み込まれています https://libs.zappar.com/zappar-js/2.1.1/zappar.js https://libs.zappar.com/zappar-mobile-only/0.0.2/zappar-mobileonly.js
ASSETSにはSDKのTrackingテンプレートが⽤意されています 2.2 スターターキットについて
Launch をクリックし、実⾏します 3. ZapWorksの機能を体験
カメラアクセスの権限を付与し、実⾏ 3.1 Face Tracking
新規シーンを作成するために、Manage Sceneを開く 3.2 Instant Tracking
Duplicate Sceneをクリックし、シーンを複製作成できたら複製したシーンをクリック 3.2 Instant Tracking
Face Tracking は削除します 3.2 Instant Tracking
ASSETSから Instant Tracking のテンプレートをドラッグ&ドロップ 3.2 Instant Tracking
Launchで実⾏します 3.2 Instant Tracking
QR先はLaunchの実⾏URLのためPlayCanvasにログインが必要です。 Publishすればログインせずに実⾏することができます。 3.2 Instant Tracking
先と同様にシーンを複製し、Image Tracking のテンプレートを追加します 3.3 Image Tracking
Image TrackingにBoxを追加しておきます。 画像を読み込んだ時に表⽰するエンティティを設定しています。 3.3 Image Tracking
LaunchするとPCで起動してしまうので、CameraエンティティのzapparBrowserUtilのMobile Onlyに チェックを⼊れます。 3.3 Image Tracking
LaunchするとQRコードが表⽰されるのでスマホで読み込み、以下の画像を映すとBoxが表⽰されます。 3.3 Image Tracking
マーカーとなる画像はマーカー(zpt)ファイルを設定することで指定することができます。 マーカー(zpt)ファイルを⽣成するには、@zappar/zapworks-cli を利⽤します。 • Node.jsパッケージをインストール npm i -g @zappar/zapworks-cli •
マーカー化する画像を⽤意したら以下を実⾏ zapworks train myImage.png #myImage.pngを.zptに変換 • ASSETSにアップロードして .zpt を差し替え Image Trackerのスクリプト属性で読み込む 3.3 Image Tracking(補⾜)
PlayCanvasでのWebXR体験 PlayCanvasの新規テンプレートからでもほぼ同じプロジェクトから始められます ぜひ体験ください!
ARだけじゃないPlayCanvas 津⽥
ここまでWebARがメインでしたが、、、、 皆さんが知りたいのはVRですよね?
WebXR Device APIを利⽤可能
None
None
None
気になるのは対応状況ですよね
WebXR Device APIの対応状況 微妙...
ですが朗報です!
None
対応!
None
Meta Quest ブラウザが対応してるから 多分対応!
WebXRアプリならではのメリット インストール不要 ストアへの出展審査など不要 APIはオープン(特別なSDKは不要) → すぐ作れる!すぐ公開できる!
まとめ PlayCanvasでWebXRアプリを作って 誰よりも早くVision ProやMeta Quest 3で動かそう