マルチルーム同期 (アニメーション、タイムライン、ビデオ)
概要
Mesh を使用すると、 single-room イベントまたはマルチルーム イベントを設定できます。 ショータイムにイベントをホストしている共同開催者は、コントロール パネルを使用して、ビデオ、オーディオ、プレイアブル (タイムライン アニメーション) とオブジェクトの可視性をすべての部屋で一貫した方法でトリガーできます。
シングル ルーム同期とマルチルーム同期
既定では、ビジュアル スクリプト、クラウド スクリプト、対話可能または物理 (ボタンの押下、アバター トリガー、オブジェクトのグラブ、移動など) によってトリガーされるシーンの変更は、その変更が発生した部屋に依存しません。 これは、共同開催者がアクションを実行している場合でも当てはまります。
複数のルーム間で変更を同期するには、共同開催者がコントロール パネルを使用して、Unity の環境に追加した制御可能をトリガーする必要があります。
制御可能
Mesh ツールキットには、Video Player、PlayableDirector、AudioSource またはその他のオブジェクトにタグを付けるために使用するControllablesと呼ばれる主要なコンポーネントが含まれているため、イベント ホストはショータイムにイベントのすべてのルームで制御できます。
Mesh Controllable コンポーネントの一覧には、次のものが含まれます。
Unity Playable Controllable: Unity PlayableDirector (タイムライン、アニメーション) を制御する場合
埋め込みオーディオ制御可能: Unity AudioSource を制御する場合 環境のアセット バンドルに含まれるオーディオの再生
埋め込みビデオ制御可能: Unity Video Player を制御するには 環境のアセット バンドルに含まれるビデオを再生します
ストリーミング ビデオ制御可能: Unity Video Player を制御するには URL からストリーミングされたビデオを再生します
オブジェクトの制御可能: Unity GameObject の有効/無効状態を制御する場合
次のセクションでは、Unity シーンのさまざまなオブジェクトに Controllable コンポーネントを追加する方法について説明します。 Controllableを配置した各オブジェクトは、イベントの共同開催者が制御できるように、コントロール パネルの showtime に表示されます。
イベント内のタイムライン アニメーションの制御
Unity では、 Timeline を使用して、Unity シーン内のアニメーション、オーディオ、その他のコンテンツをシーケンスできます。 Timeline は、再生、一時停止、ループ、停止が可能な Unity オブジェクトである、 Playable の 1 種類です。
Timeline またはその他の Playable の横に Unity Playable Controlable を追加することで、イベント ホストはショータイムにコントロール パネルからそれを制御し、複数のルーム間でアニメーションを同期できます。
イベントをホストする共同開催者は、playを選択してアニメーションを開始し、一時停止し、playをもう一度選択してアニメーションを再開できます。 また、 stop を選択してアニメーションを先頭にリセットしたり、アニメーションを loop に設定したりすることもできます。
たとえば、ドアを開くアニメーションがある場合、 play ボタンを選択すると、シーン内のドアが開きます。 ストップを選択すると、アニメーションが元の位置にリセットされます。 プレイアブルは逆にアニメーション化されません。これを行うには、別のアニメーションを作成する必要があります。
Unity での Timelines の動作に慣れていない場合は、タイムラインでこの Unity チュートリアル シリーズを視聴することをお勧めします。
Unity Playables API 全般の詳細については、Unity マニュアルの「 Playables」を参照してください。
メッシュのタイムラインを作成および制御するには
Hierarchyで、空の GameObject を追加し、名前を "Timelines" に変更します。
別の空の GameObject を追加し、 Timelines の子にして、"Timeline1" という名前に変更します。
注:
作業中の実際のプロジェクトでは、この GameObject にわかりやすい名前を付け---たとえば、 1_Entrance_Doorsすることをお勧めします。 この学習シナリオでは、"Timeline1" という名前を付けます。
Playable 逆アニメーション化 。 たとえば、ドアを開くアニメーションがあるとします。 [再生] ボタンを選択すると、シーン内のドアが開き、[停止] ボタンを選択すると、アニメーションが元の位置にリセットされます。 逆にアニメーション化するには、別のアニメーションを作成する必要があります。
重要: 1 つの GameObject の複数のタイムライン 動作しません イベントで問題が発生します。
Project タブで、Assets フォルダーに移動し、Animations という名前の新しいフォルダーを作成します。
Hierarchyで Timeline1 を選択し、 Window>Sequencing>Timeline を選択します。
Note
Timeline メニュー項目が表示されない場合は、パッケージ マネージャーを開き、Unity レジストリで "Timeline" パッケージを検索してインストールします。
Project タブと Console タブの横に Timeline タブ移動することをお勧めします。 これにより、 Timeline と Scene または Game ウィンドウを同時に表示できます。
[作成] を選択します
Save ウィンドウで、Playable の名前を Open_Doors に変更し、Assets>Animations フォルダーに保存します。
タイムラインをアニメーション化またはカスタマイズできるようになりました---たとえば、アニメーション クリップ、アクティブ化クリップなどを追加できます。 この詳細については、Unity Learn Web サイトタイムラインのチュートリアル参照してください。
複数のトラックを含むタイムラインは、次のようになります。
アニメーション化が完了したら、 Hierarchy で Timeline1 GameObject を選択し、 Inspector で Playable Director コンポーネントに移動します。
ほとんどの場合、次の設定を選択します。
[起動時に再生 = 選択されていません
タイムラインは、アップロード時にアクティブになります。
折り返しモード = 保留
アニメーションの最後のフレームは無期限に保留になります。それ以外の場合、タイムラインはスタート画面にリセットされます。 Loop という名前の Wrap Mode オプションもあります。これは、一部のインスタンスで使用できます。
最後に、インスペクターで、Add Component を使用して、Playable Director と同じオブジェクトに Unity Playable Controllable コンポーネントを追加します。
このコントロール可能な名前 Timeline1 を指定し、その Director プロパティをこのオブジェクトの Playable Director コンポーネントに設定します。
追加すると、この環境を使用するイベントとテンプレートのコントロール パネルにこのタイムラインが表示されます。 ホストは、すべての部屋で同期してこのタイムラインを制御できます。
これで、 Mesh ツールキット Uploader を使用して環境を Mesh にアップロードし Mesh でどのように表示されるかを確認できます。 詳細については、「コントロール パネルでコンテンツを準備する」を参照してください。
イベントでのビデオ プレーヤーの制御
コントロール パネルによってトリガーされる同期されたビデオ再生は、Unity ビデオ プレーヤーを使用して実行できます。
最初に、Unity シーンに Video Player コンポーネントを追加する必要があります。
環境に埋め込まれたビデオを使用する場合は、そのビデオをこのコンポーネントに割り当てます。
次に、インスペクターで Add Component を使用して、 Embedded Video Controllable または Streamed Video Controllable コンポーネントを同じオブジェクトに追加します。
このコントロール可能な名前をコントロール パネルに指定し、その Video Player プロパティをこのオブジェクトの Video Player コンポーネントに設定します。
ストリーミング ビデオを使用している場合は、制御可能な 既定の URL 再生する URL を設定します。
追加すると、このビデオは、この環境を使用するイベントとテンプレートのコントロール パネルに表示されます。 その後、ホストは /オフ またはすべての部屋で同期 再生/停止/シーク を切り替えることができます。
Unity Video Player コンポーネントの詳細については、「 Unity - Manual: Video Player コンポーネント (unity3d.com)」を参照してください。
Mesh で制御可能なコントロールをテストする
コントロール パネルを使用して実際のイベントで制御可能なコントロールを操作するには、まず環境を Mesh に発行する必要があります。 環境 アップロードの詳細については 環境のビルドと発行に関するページを参照してください。
環境がアップロードされたら、テンプレートまたはイベントをカスタマイズしてコントロール パネルを設定できます。 詳細については、「コントロール パネルでコンテンツを準備する」を参照してください。
作業内容をテンプレートとして保存する
後で開催者が繰り返す可能性があると思われる環境 + コントロール パネルの組み合わせを作成したら、その組み合わせをテンプレートとして保存できます。 テンプレートの詳細については、「 Create イベント テンプレート」を参照してください。