Apple Engine

Apple, iPhone, iOS, その周辺のことについて

iPhone と Reality Composer で始める簡単 AR その14 - ビヘイビア 編

オブジェクトをタップなど振る舞いを開始させるための動作であるトリガー(トリガ)、オブジェクトなどに1つ以上の振る舞いをもたせるアクション(アクションシーケンス)を合わせて、ひとつのビヘイビアとなる。

ビヘイビア追加時にはトリガーとアクションがセットになっているテンプレート6つと自前でトリガーとアクションを設定するカスタムのどれかを選ぶことになる。

とりあえず、今回は UI やテンプレートについて。

 

UI について

iOS では、右上「…」のその他をタップし「ビヘイビア」のボタンをタップ、
iPadOS / macOS では上部の「ビヘイビア」のボタンを使用してビヘイビアのウィンドウを出す。

ビヘイビアのウィンドウの上部に「+」押すと新規のビヘイビアが作成され後ほど説明するテンプレートの選択画面になる。

 

ビヘイビアのウィンドウに羅列されるビヘイビアは長押し、または右クリックでコンテキストメニューが出てビヘイビア全体の設定ができる。

 

ちなみに、ビヘイビアは正しく設定がされるとコンテキストメニューにプレビューが加わったり、ボタンが押せるようになる。

 

ビヘイビアは正しく設定されていない場合は ⚠️ (三角の中にびっくりマーク)、または黄色の丸がつく。

 

トリガーとアクション

オブジェクトの選択

トリガーやアクションでオブジェクトを選択する必要がある場合、メインの表示のビューポートにあるオブジェクトを選択。
上のアラートに出る完了か、トリガーやアクション「影響を受けるオブジェクト」の右にある「選択」をタップ。

選択の変更をしたい場合はビヘイビアのウインドウのトリガーやアクションで再度「影響を受けるオブジェクト」の右にある「選択」をタップし再選択する。

 

変更

iOS / iPadOS で変更する場合、放射用にひらいたトリガーのアイコンや玉が動いているアクションのアイコンをタップする変更ができ、
macOS の場合はコンテキストメニューの変更から更新が行うことができる。

 

順序移動とグループ化

アクションは複数設定できるため、ドラッグ&ドロップで移動させたり、下の写真のようにグループ化できる。 また、トリガーやアクション長押しや右クリックから表示されるコンテキスメニューはビヘイビアのものと大体同じ。

 

シーンの再生とアクションの再生

Reality Composer でのアニメーション再生方法は複数あり、画面上部の再生ボタンはシーン全体の再生を行い、
ビヘイビアのタイトルの横にあるものはビヘイビア全体を再生し、
アクションはそのアクションのみを再生する。

 

その他

画面上部「…」ボタンをタップすると、下のような画面へ遷移し、ビヘイビアの設定がここで変更できる。

ビヘイビアの名前、このビヘイビアを有効にするか動作さない無効の状態にするかのスイッチ、モーダル(動作不明)、アクションをループ再生させるループシーケンスが設定できる。

 

以前も書いたが、ビヘイビアとプロパティは排他になっているためどちらか片方のウィンドウしか開くことができない。

また、一部 UI ではビヘイビアやアクションを選択時に対応して特殊な UI を表示される。

 

テンプレート

  • タップすると反転(タップ+強調)
  • タップするとサウンド再生(タップ+サウンド再生)
  • タップすると力が加わる(タップ+力を加える)
  • 開始時に非表示(シーン開始+隠す)
  • 待機してから表示(シーン開始+隠す>待機>表示)
  • 近いと揺れる(カメラの近く+強調)
  • カスタム

 

 

ビヘイビアのテンプレート説明

ざっくり説明。
各トリガーやアクションの詳しい説明は今後。

 

タップすると反転(タップ + 強調)

「タップ後にオブジェクトを反転します」

選択したオブジェクトをタップすると1.03秒で宙返りのようなアニメーションを対象と選択したオブジェクトに行う。

 

タップするとサウンド再生(タップ + サウンドを再生)

「タップ後にオブジェクトからサウンドを再生します」

選択したオブジェクトをタップすると設定しているサウンドが流れる。
再生が終わるまで次のアクションへ遷移しないため無音部が多いものは注意。

 

タップすると力が加わる(タップ + 力を加える)

「タップ後衝撃を加えます」

選択したオブジェクトを任意の角度かつ 18km/h で動く力を加える。

 

開始時に非表示(シーン開始 + 隠す)

「シーンを開始したときにオブジェクトを非表示にします」

平面や画像など各 AR 認識が終わりアンカーが打たれたのち、シーンが開始直後、選択したオブジェクトが非表示になる。
シーンでオブジェクトを隠すための処理となる。

 

待機してから表示(シーン開始 + 隠す > 待機 > 表示)

「2秒後にオブジェクトを表示します」

平面や画像など各 AR 認識が終わりアンカーが打たれたのち、シーンが開始直後、選択したオブジェクトが非表示。
1秒待ち、1秒のアニメーションでだんだん表示される。
このテンプレートだけ複数のアクションが順番に再生されるように設定されている。

 

近いと揺れる(カメラの近く+ 強調)

「オブジェクトが近くにある場合に揺らします」

選択したオブジェクトにカメラ(自分の端末)が近づくと強調のアクションの揺れるのアニメーションが再生される。 トリガーを選択すると有効範囲の距離が球状に可視化される。

 

カスタム

トリガーとアクションを自分で選択してビヘイビアをつくる。

 

トリガーとアクションの種類

トリガー

  • タップ
  • シーン開始
  • カメラの近く
  • 衝突
  • 通知

 

 

アクション

  • 強調
  • 表示
  • 隠す
  • 移動/回転/拡大(絶対)
  • 移動/回転/拡大(相対)
  • 力を加える
  • オービット
  • 回転
  • シーンの変更
  • サウンドを再生
  • 環境音を再生
  • ミュージックを再生
  • 待機
  • USDZアニメーション
  • カメラを見る
  • 通知

 

 

まとめ

ざっくりと紹介してきたが、これら機能を組み合わせれば色々できそうな感はある。

次回はトリガーについて