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
SparkARでARエフェクトを作成してみよう#1(公開用)
Search
Satoru Hayasaka
January 25, 2022
Technology
0
170
SparkARでARエフェクトを作成してみよう#1(公開用)
Satoru Hayasaka
January 25, 2022
Tweet
Share
More Decks by Satoru Hayasaka
See All by Satoru Hayasaka
SparkARでARエフェクトを作成してみよう#2(公開用)
satoruhayasaka
0
510
20211215_XRMTG_LT資料
satoruhayasaka
0
15
2021/11/17 XRMTG LT資料
satoruhayasaka
0
230
2021/3/17 XRMTG LT資料
satoruhayasaka
0
330
20201226_NT札幌_LT
satoruhayasaka
0
44
20200916_XRMTG_LT資料
satoruhayasaka
0
37
Other Decks in Technology
See All in Technology
サラリーマンの小遣いで作るtoCサービス - Cloudflare Workersでスケールする開発戦略
shinaps
2
440
「Linux」という言葉が指すもの
sat
PRO
4
130
ガチな登山用デバイスからこんにちは
halka
1
240
「全員プロダクトマネージャー」を実現する、Cursorによる仕様検討の自動運転
applism118
21
11k
LLMを搭載したプロダクトの品質保証の模索と学び
qa
0
1k
なぜSaaSがMCPサーバーをサービス提供するのか?
sansantech
PRO
8
2.8k
Language Update: Java
skrb
2
300
Rustから学ぶ 非同期処理の仕組み
skanehira
1
130
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
470
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
460
「何となくテストする」を卒業するためにプロダクトが動く仕組みを理解しよう
kawabeaver
0
400
Agile PBL at New Grads Trainings
kawaguti
PRO
1
420
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
920
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Rails Girls Zürich Keynote
gr2m
95
14k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Transcript
None
4QBSL"3ͱ4QBSL"3ʹग़དྷΔ͜ͱ ► Meta社(旧Facebook社)が提供しているARツールです。 ⼤きな特徴として、 Spark AR Studioという開発者ツールが⽤意されており、 これを使って独⾃のARエフェクトを⽐較的簡単に作成できます。 QRコードやURLを発⾏し、外部からも簡易的に利⽤することができ ますが、FacebookもしくはInstagramのアカウントを持っている必要
があります。
࡞ͬͨͷ ͦͷ̍ インタビューAR ディフェンスAR • “Replace background”を用いた背景入れ替え • キャラクター or
選手のlayer、user_layer(被写体)、background_layer(背 景)の3層構造で重なりを演出 固定画像layer user_layer + background_layer +
face Mesh • ロゴ表示 • 美顔フィルター face Tracker • “Mouth
Open“でボールを出現 • “Head Rotation”でロゴの回転 ࡞ͬͨͷ ͦͷ̎
4QBSL"3ͱ4QBSL"3ʹग़དྷΔ͜ͱ ► 今回は様々なARエフェクトの中から、代表的な⼆種類の作成⽅法を説明します ①Face Tracking ・顔を認識し、オブジェクトを表示 ・動作や表情の認識も可能 ②Image Tracking ・画像を認識し、オブジェクトを表示
・ポスター等を利用した広告に利用
4QBSL"34UVEJPͷΠϯετʔϧ ► 開発のために、Spark AR Studioをインストールします ► その他必要になるものは l Facebookアカウント l
Facebookアプリ or Instagramアプリ(スマホ) ► 公開後の確認のため、SparkAR Hubへのログイン Facebook / Instagramのアプリもインストールします。 ► 準備が完了したら、Spark AR Studioを起動します。
► 起動時の初期画⾯はこのようになります ①Blank Projectを選択 4QBSL"34UVEJPͷૢ࡞ᶃ
► 起動時の初期画⾯はこのようになります ①Blank Projectを選択 4QBSL"34UVEJPͷૢ࡞ᶄ
4QBSL"34UVEJPͷૢ࡞ᶅ ► 次の画⾯が出てきます。こちらが作業画⾯です。 ㋐Scene/Layers 実際に表⽰する“モノ”の在処 親⼦関係の操作や、オブジェクト の選択に利⽤します。 ㋑Assets “モノ”の⼤元の在処 テクスチャやオブジェクトを
ここに保存しておきます。 ㋒Details “モノ”の詳細が表⽰されます 数値的にモノの調整ができます ㋐ ㋑ ㋒
4QBSL"34UVEJPͷૢ࡞ᶆ ► 次の画⾯が出てきます。こちらが作業画⾯です。 ㋓Viewport 実際に作業を⾏う場所です Sceneにオブジェクトを⼊れると ここに出現します。 Detailsと違い、視覚的に調整を ⾏うことができます。 ㋔スマホ表⽰
スマホでの⾒え⽅が確認できます 実際の表⽰と異なる部分もあるの で、“だいたいこう⾒える”程度の 認識の⽅が良いです。 ㋔ ㋓
4QBSL"34UVEJPͷૢ࡞ᶇ ► 下準備を⾏います。 ③左上のカメラマークを選択 ④Real-Time Simulationに表⽰ された⼈の顔を任意で選択 ⑤スマホ画⾯に顔が表⽰されます。 作成しながら顔に対して どのように動作するのかの確認が⾏えます。
③ ④ ⑤
4QBSL"34UVEJPͷૢ࡞ᶈ Instagram / Fecebookでの共有設定 左下の⻭⾞マーク → +Add Experience → Sharing
Experience → Insert → Done
'BDF5SBDLJOHϑΟϧλʔͷ࡞ᶃ ► 3Dオブジェクトが額の上にあるフィルターを作成します。 ► 事前に⽤意するもの ・3Dオブジェクト(.fbxや.objファイル)
'BDF5SBDLJOHϑΟϧλʔͷ࡞ᶄ FaceTrackerの追加 Scene → Add Object → Face Tracker →
Insert でFaceTrackerを追加
'BDF5SBDLJOHϑΟϧλʔͷ࡞ᶅ ► オブジェクトをインポートします。 AssetsのAdd Asset ↓ Importを選択し、From Computerから インポートしたいオブジェクトを選択 インポートできる3Dデータの形式は、
FBX、glTF、COLLADA、OBJ、DAEの5種類 ↓ Assetsにインポートした3DデータがOK
'BDF5SBDLJOHϑΟϧλʔͷ࡞ᶆ ► インポートしたオブジェクトを表⽰させます。 3Dオブジェクトを、 faceTrackerへドラック&ドロップ ↓ faceTrackerの下に オブジェクトが表⽰され、 画⾯に3Dオブジェクトが表⽰ ★faceTrackerは、
取得した顔の情報が⼊る場所です。
► 3Dオブジェクトを調整します。 カメラの下の停⽌ボタンを押し、 ⼈の動きを⽌めます。 ↓ 3Dオブジェクトを選択した状態で、 サイズ、⾓度、場所の調整をします 中央上のボタンで調整したい物を 選択し、オブジェクトに表⽰された ⾚、⻘、緑の線をクリックしながら
調整することができます。 Propertiesから、 数値的に調整することも出来ます。 ิ %ΦϒδΣΫτͷૢ࡞ᶇ
ิ ϓϩδΣΫτϑΝΠϧΛอଘ͢Δ File → Save でプロジェクトファイルを保存 次回起動時は、Spark AR Studioを起動し File
→Openから“〇〇.arproj”ファイルを選択することで開けます ①
εϚϗͰͷಈ࡞֬ೝᶃ ► SparkAR HubからFacebook / Instagramのアプリでテストを実施 ► Publish → Export
で .arexportファイルを出⼒
εϚϗͰͷಈ࡞֬ೝᶄ ► SparkAR Hub (https://www.facebook.com/sparkarhub/dashboard/) を開き、「エフェクトを公開」をクリック
εϚϗͰͷಈ࡞֬ೝᶅ ► .arexportファイルをアップロード
εϚϗͰͷಈ࡞֬ೝᶆ ► プラットフォームの設定からシェアするプラットフォームを選択
εϚϗͰͷಈ࡞֬ೝᶇ ► エフェクトの名前を設定し保存
εϚϗͰͷಈ࡞֬ೝᶈ ► デバイスでテスト
ิ 23ίʔυͷൃߦ ► QR Code Generator https://www.the-qrcode-generator.com/
ʙ ಈ࡞֬ೝ ʙ
'BDF5SBDLJOHϑΟϧλʔͷ࡞ᶇ ► 応⽤①-顔のポジションを指定して表⽰ ► ⼿調整ではなく、カメラで認識した顔のポジションにオブジェクトを表⽰させてみましょう ①Sceneから、 オブジェクトを選択 ②詳細画⾯から、 Positionの左にある ⽮印をクリック
③画⾯中央下に Patch Editorが現れ、 ⻩⾊いブロックが出現します。 ① ② ③
'BDF5SBDLJOHϑΟϧλʔͷ࡞ᶈ ► 応⽤①-顔のポジションを指定して表⽰ ► Patch Editorは、動作内部の細かい設定を⾏うことができます。 ④Patch Editorで右クリック → Face
LandmarksのForeheadを選択し Add Patchをクリック ⑤Patch EditorにForeheadが出てくるので、 Centerとオブジェクトをこのように結びます。 これで、“オブジェクトのポジション = 額の中⼼”と設定することができます。 ただ、この状態だと額がどの顔のものかの情報がないため、⼊れていきます。 ④ ⑤
'BDF5SBDLJOHϑΟϧλʔͷ࡞ᶉ ► 応⽤①-顔のポジションを指定して表⽰ ► 取得した顔の情報を⼊れていきます。 ⑥SceneからfaceTrackerを選択 ⑦Properties → PatchのCreateを選択 →
Producer Patchをクリック ⑧3つ連なったものが出てくるので、FaceとForeheadを結びます。 これで、オブジェクトが常に額の中⼼に来るようになります。 ⑨顔情報をFace Selectで絞る必要があるため、顔が複数ある場合、トラッカーもその分必要になりま す。 ⑥ ⑦ ⑧ ⑨
ʙ ಈ࡞֬ೝ ʙ
'BDF5SBDLJOHϑΟϧλʔͷ࡞ᶊ ► 応⽤②-顔の動きとリンクしたアニメーション ► ⼝が開いた時、オブジェクトが回転するようにしてみましょう ①Patch Editorで右クリック → ウィンドウ表⽰ InteractionのMouth
Open → Add Patchをクリック ②Mouth Openが表⽰されるので faceTrack…の⼀番上と結びます。 これで、⼝の開け閉め情報を取得しました。 ① ②
'BDF5SBDLJOHϑΟϧλʔͷ࡞ᶋ ► 応⽤②-顔の動きとリンクしたアニメーション ► アニメーションを設定します。 ③Sceneでオブジェクトを選択 ④右上のActionsを選択し、 AnimateのSpinを選択 ⑤画⾯のオブジェクトが回転 ④
③
'BDF5SBDLJOHϑΟϧλʔͷ࡞ᶌ ► 応⽤②-顔の動きとリンクしたアニメーション ► ⼝の開け閉めと連動させます。 ⑥Mouth Openの上側と、LoopAnimationのEnableを結びます。 すると、⼝が開いてる時のみオブジェクトが回転するように なっています。 ⑦今回の場合、Durationは⼀回転する秒数になっているので、
書き換えることで回転速度を変えることも出来ます。 ★様々な結びつけ⽅をすることで、幅広いアニメーションを 簡単に作成することができます。 ⑥ ⑦
ʙ ಈ࡞֬ೝ ʙ
·ͱΊ ► Spark ARでは、簡単にARが作成/公開ができます。 ► 画像や顔認識の精度もかなり⾼く、使いやすいです。 2021/11/22時点では 平⾯検知、ハンドトラッキング、ボディートラッキング も実装されました ►
プログラミングの知識があれば、複雑なモノも作成できます。 (Patchが乱雑化するので⼯夫が必要) ► ありがとうございました!