本日はMicrosoftMeshの小ネタ枠です。
Meshの環境作成チュートリアルMesh 201を試した内容を記事にします。
今回は3Dアセットを使用してWeb APIを呼び出しWebSlateを更新する方法を試します。
前回記事
以下の前回記事の続きです。
bluebirdofoz.hatenablog.com
サンプルの動作を確認する
初めに現在のサンプルの動きを確認してみます。
シーンを再生して背後を振り返り、地球儀のオブジェクトに近づきます。
地球儀の任意の個所をクリックしてみます。
デフォルトの状態では適切に設定が行われていないため、クリックに関係ないポイントの地図をWebSlateに表示しつづけます。
今ステップではこの地球儀のクイックしたポイントの地図をWebSlateに表示されるようにします。
ビジュアルスクリプトを使ってWebSlateを更新する
4 - LoadURLオブジェクトをダブルクリックして[Scene]画面を移動します。
本オブジェクトには地球儀型のEarthオブジェクトとWebSlateが配置されています。
Earthオブジェクトを選択してScript Machineの[Edit Graph]を開いてビジュアルスクリプトを確認します。
ここでは地球儀のポイントされた位置の緯度と経度を計算する処理が用意されています。本スクリプトは完成されているため、編集する必要はありません。
次にEarthActionsオブジェクトを選択してScript Machineの[Edit Graph]を開いてビジュアルスクリプトを確認します。
本スクリプトが一部未完成のため、これを更新する必要があります。
Custom Default Webslate Behavior
Custom Default Webslate BehaviorのエリアではWebSlateの初期化が行われます。
WebSlateURL変数を参照し、設定がなければ以下のURLを初期画面としてWebSlateの[Url]に設定します。
https://www.bing.com/maps/
URLBuilder
URL BuilderのエリアではEarthオブジェクトからポイントされた緯度経度を受け取って地図のURLを生成します。
本エリアのスクリプトは完成されているため、編集する必要はありません。
Update webslate
作成したURLはUpdate webslateのエリアでWebSlateURL変数に設定されます。
ここでWebSlateの[Url]にも反映することでWebSlateの画面を更新できます。
出力ポートをクリックドラッグしてWebSlate: Loadノードを追加します。
SetVariableノードの出力ポートをWebSlate: Loadノードの入力ポートに接続します。
これでWebSlateに作成したURLを反映できます。
次にURLを反映するWebSlateの参照を設定します。
Hierarchyから4 - LoadURL配下のWebSlateオブジェクトの参照をWebSlateノードにドラッグして設定します。
これでEarthオブジェクトがポイントされると指定のWebSlateのURLが更新されるようになりました。
動作テストを行う
シーンを再生して背後を振り返り、地球儀のオブジェクトに近づきます。
地球儀の任意の個所をクリックしてみます。
クリックした場所の地図がWebSlateに表示されれば成功です。
これでMesh 101のチュートリアルは完了です。Finished Project.unityと同様の状態になりました。
作成したイベント会場のアップロード手順は以下の記事を参照ください。
bluebirdofoz.hatenablog.com