見出し画像

【SPARK AR】説明文言の表示方法

こんにちは、SparkAR学習中のnagamです🐻

外カメラ用のエフェクトを内カメラで起動した時に、カメラの切り替えをするよう促したいなと思い、説明文言の表示方法を学びました。
今回はこちらの覚え書きです。

HandTrackerを設定した上で進めています🖐

↓ 今までのSpark AR覚え書き ↓

【1】文言を用意する

画面中央に「カメラを切り替え」を表示させようと思います

①シーンパネルの「Device」をクリック
②インスペクター「Instructions」の「+」をクリック

③文言をリストから選択
スワイプやタップ、各Trackingに使える指示がリストにあります。
リストから適したものを探して、右下の「Insert」をクリック

自動でウインドウが閉じる。
※この時、画面上に新たに何かが表示される等の変化はナシ。

メモ:Instructionsで指定した文言は、それぞれInstagramで設定している言語で表示される様子。


【2】カメラの設定をする

シーンパネルの「Camera」をPatch Editorまでドラッグして、
「Camera」を表示。


【3】カメラとInstructionをつなぐ

Patch Editorに「Conditional Instruction」を追加し、
Option右の▼から「カメラを切り替え」を選択。
※【1】の行程を行わないとOption内には何も表示されないので注意。

「Camera」1番上の“→”「Front Camera Active」とつなげる。

これで内カメラ時に「カメラを切り替え」が表示されるようになりました!

SparkAR上のプレビューでは文言が下部に表示されますが、
スマホでプレビューすると中央に表示されます。


【おまけ】ちょっと奮闘中

【内カメラ表示時】

今の状態では、切り替えを促す文言「カメラを切り替え」を表示しただけなので、画像(↑)の通り内カメラでも手が映るともれなくHandTrackerが反応してしまいます。

これを非表示にするため、模索して以下の設定をしてみました。

①外カメラの設定 ②内カメラの設定

①外カメラの設定
・何をしたらいいかわかるように「手をカメラに近づけてください」を追加。画面の邪魔になるので3秒間で非表示になるよう設定。
(Timed InstructionでDurationを3)

②内カメラの設定
・文言「カメラを切り替え」を表示
・HandTracker内の要素(HiresSphere)を配置
(2つを繋げようとすると間にSwitchが入ったのでそのままにしてみました)

……が、最初はいい感じなものの
何度か切り替えをするとうまく発動しない・・・・。
(HiresSpherの発動タイミングがカメラの切り替えについていかない)

内カメラ設定(②)でInstructionとHiresSpherをまとめているのがよくないのかも?と思い変更。

①外カメラの設定 ②内カメラの設定

これで内カメラでHand Trackerは完全に発動しなくなりました💡

内カメラ時に手があっても反応しない!

しかしながら、外カメラ時(①)のDuration:3がしぶといようで、
素早く内カメラに切り替えると3秒以内は「手にカメラを~」が残る
…。

3秒ぐらいであればさして問題はないものの、これが5秒以上になると
画面に残り続けるのは不親切なので、カメラの切り替えタイミングでバッチリ切り替えしたいところ。

解決策を探すのがしばらくの課題になりそうです✏
(FaceTrackerでなら別のやり方で解決できたのですが。。。。)


この記事が参加している募集

やってみた

この記事が気に入ったらサポートをしてみませんか?