【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でなら別のやり方で解決できたのですが。。。。)