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エフェクトを作成してみよう#2(公開用)
Search
Satoru Hayasaka
January 25, 2022
Technology
0
510
SparkARでARエフェクトを作成してみよう#2(公開用)
Satoru Hayasaka
January 25, 2022
Tweet
Share
More Decks by Satoru Hayasaka
See All by Satoru Hayasaka
SparkARでARエフェクトを作成してみよう#1(公開用)
satoruhayasaka
0
170
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
AIエージェント開発用SDKとローカルLLMをLINE Botと組み合わせてみた / LINEを使ったLT大会 #14
you
PRO
0
110
ZOZOマッチのアーキテクチャと技術構成
zozotech
PRO
3
1.5k
人工衛星のファームウェアをRustで書く理由
koba789
15
7.8k
現場で効くClaude Code ─ 最新動向と企業導入
takaakikakei
1
240
データアナリストからアナリティクスエンジニアになった話
hiyokko_data
2
450
ハードウェアとソフトウェアをつなぐ全てを内製している企業の E2E テストの作り方 / How to create E2E tests for a company that builds everything connecting hardware and software in-house
bitkey
PRO
1
130
実践!カスタムインストラクション&スラッシュコマンド
puku0x
0
380
ブロックテーマ時代における、テーマの CSS について考える Toro_Unit / 2025.09.13 @ Shinshu WordPress Meetup
torounit
0
120
20250910_障害注入から効率的復旧へ_カオスエンジニアリング_生成AIで考えるAWS障害対応.pdf
sh_fk2
3
240
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
570
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
12
4.7k
TS-S205_昨年対比2倍以上の機能追加を実現するデータ基盤プロジェクトでのAI活用について
kaz3284
1
110
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
840
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Building Applications with DynamoDB
mza
96
6.6k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
How STYLIGHT went responsive
nonsquared
100
5.8k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Gamification - CAS2011
davidbonilla
81
5.4k
GraphQLとの向き合い方2022年版
quramy
49
14k
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”でロゴの回転 ࡞ͬͨͷ ͦͷ̎
࡞ͬͨͷ ͦͷ̏ • 最近実装された“Hand Tracking” と、FaceTrackingの組み合わせで スノードームっぽいフィルターを 作成しました
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
*NBHF 5SBDLJOHϑΟϧλʔͷ࡞ ► 特定の画像を映すと、 オブジェクトが現れるものを作成します。 ► 事前に⽤意するもの ・3Dオブジェクト ・トラッキングしたい画像(なんでもOK)
*NBHF 5SBDLJOHϑΟϧλʔͷ࡞ FaceTrackerの追加 Scene → Add Object → Target Tracker
→ Insert でTarget Trackerを追加
*NBHF 5SBDLJOHϑΟϧλʔͷ࡞ ► 初期画⾯はこんな感じです。 ► チェッカー模様の部分に、トラッキングしたい画像が⼊ります。
*NBHF 5SBDLJOHϑΟϧλʔͷ࡞ ► トラッキングしたい画像を設定 ③Add AssetのImportから、 トラッキングしたい 画像をインポート ④fixedTargetTrackerを選択 ⑤詳細画⾯のTextureから
インポートした画像を選択 ⑥チェッカー模様が、 インポートした画像に 変わっていたらOK ⑥ ⑤ ③ ④
*NBHF 5SBDLJOHϑΟϧλʔͷ࡞ ► Face Trackingと同じ要領で、3Dオブジェクトをインポート ⑦Add Assetからオブジェクトをインポートしたら、 fixedTargetTracker0へドラック&ドロップする。 ⑧サイズ、⾓度、位置をいい感じに調整したら完了です。 ⑧
⑦
*NBHF 5SBDLJOHϑΟϧλʔͷ࡞ ► PCに映る画像でも、正しく表⽰されます ► ⾓度を変えてみても、 位置を維持し続けます。 ► テスト、公開の⽅法は Face
Trackingと全く同様です。 ★複数画像をトラッキングしたい場合は、 Add ObjectからTarget Trackerを増やす
ʙ ಈ࡞֬ೝ ʙ
► 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/
*NBHF 5SBDLJOHϑΟϧλʔͷ࡞ ► 応⽤③-初期アニメーションを発⽣させる ► 画像を発⾒した時、 オブジェクトが⼀回転する アニメーションを追加してみる ①Scene →
targetTracker0を選択 ②Proparty → Producer Patchをクリック ③すると、Patch Editorに以下のものが現れます。 こちらで、画像が発⾒されたかどうかの判定を出⼒できます。 ③ ① ②
*NBHF 5SBDLJOHϑΟϧλʔͷ࡞ ► 応⽤③-初期アニメーションを実⾏ ► 回転するアニメーションを追加 ④Scene → オブジェクトを選択 ⑤Proparty
→ Actions → AnimateのSpinを選択 ⑥今回はループさせず⼀回転なので、 Loop Animationのみを選択し、delete ④ ⑤ ⑥
*NBHF 5SBDLJOHϑΟϧλʔͷ࡞ ► 応⽤③-初期アニメーションを実⾏ ► ⼀回転するアニメーション ⑧Patch Editorで右クリック、 AnimationのAnimationを選択 Add
Patchで追加 ⑨同様に、UtilityのPulseも追加 ⑩Animationの上側と、TransitionのProgressを結びます。 ⑪Pulseの上側とAnimationのPlay、Pulseの下側とAnimationのResetを結びます。 ⑧ ⑨ ⑪ ⑩
*NBHF 5SBDLJOHϑΟϧλʔͷ࡞ ► 応⽤③-初期アニメーションを実⾏ ► Pulseのトリガーを、画像が⾒つかった時にします。 ⑫最後にtargetTracker0…の⼀番上とPulseのOn/Offを結んで完了です。 ⑬左上のリスタートボタンで動作を確認することができます。 ただ、画像が⾒つかるたびに動くこと確認するのであれば、 実際スマホでテストしたほうが良いです。
⑫ ⑬
ʙ ಈ࡞֬ೝ ʙ
*NBHF 5SBDLJOHϑΟϧλʔͷ࡞ ► 応⽤④-タップしてアニメーションを実⾏ ► デバイスに映ったオブジェクトをタップした際に、 ⼤きさが変化するようにしてみましょう ①Sceneからオブジェクトを選択 ②Proparty →
CreateのObject Tapを選択 ③以下のものが現れます。オブジェクトをタップした際の 信号を送ることができるようになります。 ② ① ③
*NBHF 5SBDLJOHϑΟϧλʔͷ࡞ ► 応⽤④-タップしてアニメーションを実⾏ ► ⼤きさが変化するアニメーションを追加 ④Proparty → Scaleの左の⽮印をクリック ⑤続けて、Patch
Editorで右クリックし、 AnimationのTransitionを追加 ⑥初期はこのような感じですが、値を書き換えて結びます。 ★Curveではイージング(変化の加減速)を変更することができます。 ④ ⑤ ⑥
*NBHF 5SBDLJOHϑΟϧλʔͷ࡞ ► 応⽤④-タップしてアニメーションを実⾏ ► アニメーションにループ処理を加える ⑦Patch Editorで右クリックし、 AnimationのLoop Animationを追加
⑧Loop Animationの上側と、 TransitionのProgressを結びます。 ⑨Mirroredにチェックを⼊れます。 ループ動作を往復するようになります。 ⑦ ⑨ ⑧
*NBHF 5SBDLJOHϑΟϧλʔͷ࡞ ► 応⽤④-タップしてアニメーションを実⾏ ► 最後にObject Tapと結びつけます。 ⑩Patch Editorで右クリックし、 UtilityのSwitchを追加
⑪Object TapとSwitchのFlip、 SwitchとLoopanimationのEnableを結べば完了です。 ⑫右上デバイスシミュレーション画⾯の三本線から Simulate Touchを選択することで、オブジェクトタップの確認ができます。 ⑫ ⑪ ⑩
*NBHF 5SBDLJOHϑΟϧλʔͷ࡞ ► 応⽤④-タップしてアニメーションを実⾏ ► 実際にデバイスで試してみましょう。 ► 発⾒した際は⼀回転/タップすると⼤きさが変わる というアニメーションが追加されています
ʙ ಈ࡞֬ೝ ʙ
·ͱΊ ► Spark ARでは、簡単にARが作成/公開ができます。 ※公開には審査が必要となるため規約は確認必要です ► 画像や顔認識の精度もかなり⾼く、使いやすいです。 2021/11/22時点では 平⾯検知、ハンドトラッキング、ボディートラッキング も実装されました
► プログラミングの知識があれば、複雑なモノも作成できます。 (Patchが乱雑化するので⼯夫が必要) ► ありがとうございました!