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
530
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
180
20211215_XRMTG_LT資料
satoruhayasaka
0
18
2021/11/17 XRMTG LT資料
satoruhayasaka
0
230
2021/3/17 XRMTG LT資料
satoruhayasaka
0
340
20201226_NT札幌_LT
satoruhayasaka
0
46
20200916_XRMTG_LT資料
satoruhayasaka
0
40
Other Decks in Technology
See All in Technology
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
680
Amazon Bedrock Knowledge Basesチャンキング解説!
aoinoguchi
0
170
1,000 にも届く AWS Organizations 組織のポリシー運用をちゃんとしたい、という話
kazzpapa3
0
190
【Oracle Cloud ウェビナー】[Oracle AI Database + AWS] Oracle Database@AWSで広がるクラウドの新たな選択肢とAI時代のデータ戦略
oracle4engineer
PRO
2
190
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
2.6k
Kiro IDEのドキュメントを全部読んだので地味だけどちょっと嬉しい機能を紹介する
khmoryz
0
210
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
340
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
1
390
AIエージェントに必要なのはデータではなく文脈だった/ai-agent-context-graph-mybest
jonnojun
1
250
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
1.1k
Cloud Runでコロプラが挑む 生成AI×ゲーム『神魔狩りのツクヨミ』の裏側
colopl
0
150
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
480
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Facilitating Awesome Meetings
lara
57
6.8k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
68
Done Done
chrislema
186
16k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Raft: Consensus for Rubyists
vanstee
141
7.3k
[SF Ruby Conf 2025] Rails X
palkan
1
760
Bash Introduction
62gerente
615
210k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
Designing for humans not robots
tammielis
254
26k
How to train your dragon (web standard)
notwaldorf
97
6.5k
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が乱雑化するので⼯夫が必要) ► ありがとうございました!