インタラクティブにする
オブジェクトに Events component を追加すれば、何も書かずに挙動を与えられます。
イベントはどれも一文です。これが起きたら、これらを行う。
組み立てかた
| 項目 | 内容 |
|---|---|
| Name | あなたのための名前。どこに付いているかではなく、何をするかで名付ける |
| Trigger | いつ発火するか |
| State | state 系トリガー用。どの state を見るか |
| Key | キー系トリガー用。修飾キーを含めて組み合わせを記録する |
| Action id | UI 系トリガー用。どのボタンか。空なら任意 |
| Steps | 何が起きるか。上から順に |
ステップはタブ(Actions・Animations・States)に分かれています。だいたい 「外の世界に働きかける」「何かを動かす」「何かのありかたを変える」です。
ステップがどのオブジェクトに効くか
どのステップにも対象オブジェクトがあります。空のままなら、そのイベントが載っている オブジェクトに効きます。指定すれば、そちらに効きます。
腑に落としておきたいのはここです。イベントは 1 つのオブジェクトの上にありますが、そのステップは どのオブジェクトにも効かせられます。 ボタンに付けた 1 つのイベントで、ドアを開け、照明を落とし、 まったく別の場所で音を鳴らせます。
反応できるもの
入力(タップ・ホバー・キー・ドラッグ・ピンチ)、シーンの開始、アプリの一時停止と再開、 AR トラッキングの取得と喪失、タイマー、近接、state の変化、衝突、UI のボタン、そして キャラクターコントローラーの状態変化です。
エディターは、いまいる場所で意味のあるトリガーだけを出します。ただの 3D シーンに 「マーカーを検出」は現れません。
オブジェクトへのタップは親にも届きます。グループにイベントを付ければ、その中のすべてへの タップを拾えます。同じイベントを 40 個のオブジェクトに付けずに済みます。
トリガーがどう伝わるか、そして一つひとつが何をするかは イベントにあります。
できること
ステップの一覧を、タブと同じ分けかたで並べます。
| Actions |
|---|
| シーン遷移 · space 遷移 · URL を開く · メッセンジャーを開く |
| 電話をかける · メールを作成 · ファイルをダウンロード · 連絡先をダウンロード |
| オブジェクトの表示 / 非表示 · オブジェクトに追従 · オブジェクトを見る · 追従をやめる |
| パスに沿って飛ぶ · パス飛行を止める · ポインターをロック · ポインターを解放 |
| Animations |
|---|
| アニメーションを再生 · アニメーションを停止 · transformation · 不透明度 |
| マテリアル · ボーンの transform · 組み込みアニメーション |
| States とロジック |
|---|
| state を設定 · プロパティを上書き · if — else · 変数を設定 |
| シグナルを送る · 待ってから |
各パラメーターまで含めた詳細は ステップのリファレンスにあります。
if ステップは条件と、入れ子になった 2 本のステップリストを持ちます。ステップなので入れ子に できます。if の中の if で、必要なだけ分岐を作れます。
再トラッキング
AR シーンでは、イベントごとの再トラッキング設定が、マーカーを見失って再び見つけたときの ふるまいを決めます。すぐに最初からやり直す、二度と再開しない、いま動いているステップが 終わってから再開する、のいずれかです。
イベントも patch も script も、同じトリガーを聞いています。同じオブジェクトの同じトリガーを そのうち 2 か所に配線すると、2 回実行されます。トリガーごとに 1 か所を選んでください。