次の方法で共有


Mesh 201 チュートリアル 第 3 章: ローカル共有 HTML ファイルを WebSlate に読み込む

このチュートリアルの前の章では、ローカルの非共有 HTML ファイルを WebSlate に読み込むボタンを有効にしました。 この章では、読み込む HTML ページも設定しますが、今回は共有されるため、エクスペリエンスのすべての出席者に表示されます。

  1. Scene ウィンドウで、次の図に示すように、Station 2 を表示するようにビューを変更します。

    コンピューターの説明のスクリーンショット

    前の章と同様に、いくつかの説明テキストを含む GameObject が既に配置されていますが、今回は Load 1Load 2の 2 つのボタンがあります。 WebSlate も既に用意されています。 いずれかのボタンにアタッチされているスクリプト グラフを更新して、Station を完成させます。 出席者がいずれかのボタンをクリックすると、Web ページが読み込まれるので、エクスペリエンス内の他のすべての出席者は新しいページを共有して表示できます。 この Station の各ボタンは、少し異なる種類のコンテンツを読み込みます。

  2. [Hierarchy]で、1 - LocalWebslate という名前の GameObject を折りたたみます。

  3. 2 - StaticContentWebslate を展開します。 WebSlateFramed オブジェクトが事前に読み込まれており、ここに配置されています。

    コンピューターの説明のスクリーンショット

  4. ChapterLabel とその子オブジェクトの Actions を展開します。 ここで使用するボタン (LoadButton1LoadButton2) があります。

    コンピューターの説明のスクリーンショット

スクリプト グラフを編集する

  1. [Hierarchy]で、LoadButton1 を選択します。 Inspector では、LoadButton1 には Script Machine コンポーネントがあり、スクリプトには LoadButtonSharedStart という名前のスクリプトがアタッチされていることに注意してください。 また、スクリプト グラフで使用される複数のオブジェクト変数もアタッチされています。

    コンピューターの説明のスクリーンショット

    LoadButton1 を選択すると、Script Machine コンポーネント内のスクリプトが自動的に Script Graph ウィンドウに読み込まれます。 前の章と同様に、スクリプト グラフは既に開始されています。

    コンピューターの説明のスクリーンショット

Mesh Interactable Body: Is Selected ノードの追加

最初のタスクは、Mesh Interactable Body: Is Selected ノードを追加することです。 前の章で説明したように、"Mesh Interactable Body" ノードに Is Selected Locally または Is Selected2 つの選択肢があります。 各ノードの上のテキストは、動作を確認するのに役立ちます。

コンピューターの説明のスクリーンショット

Station 1 の場合、イベントをトリガーするユーザーのみがイベントを体験することを期待されていたため、スクリプトには "Is Selected Locally" というノードが含まれていました。 今回は、すべての出席者がイベントを体験できるように、これに対してもう 1 つのノード (単に "Is Selected" と表示されるノード) を選択します。

  1. Game Object ノードのデータ出力ポートをクリックし、右にドラッグします。 これにより、Fuzzy Finder が開きます。 警告: Fuzzy Finder を開いたら、Unity インターフェイスの外側をクリックしないでください。 これにより、Fuzzy Finder が閉じられ、スクリプト グラフで予期しない動作が発生します。

  2. Fuzzy Finder で、"Mesh Interactable Body: Is Selected" を検索して選択します。

    コンピューターの説明のスクリーンショット

    これにより、ノードがグラフに追加されます。

  3. Mesh Interactable Body: Is Selected ノードのデータ出力ポートからコネクタをドラッグし、Microsoft Mesh: On State Changed ノードのデータ入力ポートに接続します。

    コンピューターの説明のスクリーンショット

Web Slate: Load HTML Content (HTML Asset) ノードを追加する

スクリプト グラフには、必要な 2 つのオブジェクト変数ノードが既に含まれているため、前に進み、必要な最後のノードを追加できます。

  1. If ノードの制御出力ポートからコネクタをドラッグし、新しい Web Slate: Load HTML Content (HTML Asset) ノードを作成します。 前の章で説明したように、非常に似た名前のノードが 2 つあることに注意してください。

    コンピューターの説明のスクリーンショット

    "HTML Content" ではなく、"HTML Asset" と表示する必要があります。

    コンピューターの説明のスクリーンショット

  2. Get Object Variable ノードのデータ出力ポートから値 "WebSlate" を使用してコネクタをドラッグし、Web Slate: Load HTML Content ノードの最初のデータ入力ポートに接続します。

    コンピューターの説明のスクリーンショット

  3. 読み込む Web ページは、もう一方の Get Object Variable ノードにあります。 そのノードのデータ出力ポートからコネクタをドラッグし、Web Slate: Load HTML Content ノードの 2 番目のデータ入力ポートに接続します。

    コンピューターの説明のスクリーンショット

作業をテストする

  1. Unity でプロジェクトを保存し、[Unity Editor Play] ボタンを押します。

  2. ステーション 2 の前に配置します。 前の章と同様に、WebSlate では、WebSlate コンポーネントの既定の URL が Microsoft ホーム ページに設定されているため、Microsoft に関するいくつかの情報が表示されます。

    コンピューターの説明のスクリーンショット

  3. [読み込み 1] ボタンをクリックします。 WebSlate は、"Wind Energy Across the World" というタイトルのページを読み込んで表示します。 WebSlate は対話型です。スクロール バーの上下の矢印またはスクロール バーの空のスペースをクリックしてスライダーを移動し、ページのビューを変更できます。 (スライダー自体をドラッグすることはできません)。

    コンピューターの説明のスクリーンショット

  4. [読み込み 2] ボタンをクリックし、画像が WebSlate に読み込まれることに注意してください。

    コンピューターの説明のスクリーンショット

これが機能するのは、[読み込み 2] ボタン用にすでに完全なスクリプトが設定されており、そのスクリプトが [読み込み 1] ボタンのスクリプトとまったく同じノード構造を持っているためです。 唯一の違いは、各スクリプトの変数です。 [読み込み 1] ボタンの場合、HTMLAsset 変数の値は HTML ファイル "windenergyfacts" です。

コンピューターの説明のスクリーンショット

[読み込み 2] ボタンの場合、HTMLAsset 変数の値は HTML ファイル "meshimage" です。

コンピューターの説明のスクリーンショット

meshimage.html ファイルについて知りたい場合は、ファイルを開いて見てください。 プロジェクトの Assets>MeshWebSlates>HTMLFiles フォルダーにあります。

コンピューターの説明のスクリーンショット

ファイル内の唯一のコンテンツは、[読み込み 2] ボタンをクリックしたときに表示された画像へのリンクです。

コンピューターの説明のスクリーンショット

次のステップ