メインコンテンツまでスキップ

UI エディター

シーンの上に表示する 2D のインターフェースを作ります。メニュー、ボタン、ラベル、画面上の表示などです。作ったら、オブジェクトやロジックとつなぎます。

AR Clip の 2D インターフェースは、どれも カード です。カードは 3D の表示の手前に、ふつうの画面と同じようにレイアウトされます。カードの文字は、どの距離から見ても、どの画面で見てもくっきりしています。

このページではカードの作り方を説明します。実行中のプロジェクトでカードがどう動くかは UI カード を見てください。

エディターを開く​

開き方は 4 つあります。どれも同じ全画面のエディターが開きます。

  • 左側のレールの Scene UI は、いまのシーンのインターフェースを開きます。シーンにインターフェースがなければ、新しく作ります。
  • シーン設定の UI セクション。
  • オブジェクトの UI コンポーネントにある Edit layout。
  • Project assets にある UI ファイル。

1 つのカードを複数の人が同時に編集できます。変更を保存するには Save を、エディターを閉じるには Close をクリックします。

新しいシーンには最初から UI があります

中身は空で、すぐに使える状態です。自分で作る必要はありません。開いて作り始めましょう。

カードを付ける​

カードは 1 つのファイルです。UI コンポーネントを使って、カードをオブジェクトに付けます。

設定選択肢
UI resource表示するカード。
ModeOverlay(全画面)または Anchored(オブジェクトに固定)。
Anchor X / Yカードのどの辺や角をオブジェクトに合わせるか。Anchored モードのときだけ使います。
Enabledカードを表示するかどうか。
Persist variables globally訪問者が別のシーンに移っても、カードの値がそのまま保たれます。

シーン に付けたカードは、必ずオーバーレイになります。オブジェクト に付けたカードは、どちらのモードにもできます。

Anchored のカードは離れても小さくなりません

カードはデザインしたときの大きさのままで、オブジェクトがカメラの後ろに回ると隠れます。距離に応じて小さくしたいものには、3D テキストを使いましょう。

UI をシーンとつなぐ​

方法は 3 つあります。下に行くほど、柔軟に扱えます。

  1. 組み込みのアクション。 カードが自分自身を変えます。画面を切り替える、変数を設定する、タイマーを動かす、といった操作です。インターフェースだけに関わる処理は、ここにまとめておきましょう。
  2. シーンのステップ。 エディターでは、エンジンのステップを設定付きでアクションとして選べます。シーンに移動する、URL を開く、アニメーションを再生する、などです。ボタン 1 つで、コードを書かずにシーンを操作できます。
  3. 名前付きのアクションとロジック。 アクションに ID を付けて、それに反応させます。オブジェクトの Events コンポーネントには UI action トリガーがあります。ID を空にすると、どのアクションにも反応します。スクリプトから直接受け取ることもできます。
const ui = ctx.getDivKit(entity);

ui.set('score', (v) => v + 1);
ui.subscribe('lives', (v) => {});
ui.onAction('restart', () => {});
ゲームの状態はロジックに持たせましょう

スコアや残りライフのような値は、スクリプトやパッチに保存し、カードには表示だけをさせましょう。カードの変数は参加者どうしで共有されず、ページを再読み込みするとリセットされます。


次へ: スペースの設定 — スペースの背景、ライティング、単位を設定します。