本日はMicrosoftMeshの小ネタ枠です。
Meshの環境作成チュートリアルMesh 101を試した内容を記事にします。
今回はビジュアルスクリプトを使ってテレポートを行う手順です。
前回記事
以下の前回記事の続きです。
bluebirdofoz.hatenablog.com
ビジュアルスクリプトを使ってテレポートを行う
初めにMesh 101にあらかじめ設定されているビジュアルスクリプトを確認します。
3.3 - Teleportオブジェクト配下にあるTeleportToWindTurbinButtonオブジェクトのビジュアルスクリプトを編集していきます。
本オブジェクトにはボタン押下時にTrue/Falseが通知されるノードが既に設定されています。
ここにボタン押下時にテレポートを行うノードを追加していきます。
トラベルポイントを設定する
テレポート先となるトラベルポイントを設定します。
HierarchyのTravelオブジェクト配下に右クリックから[Create Empty]で空オブジェクトを追加します。
オブジェクト名をTeleportLocationWindTurbineに変更し、Travel Pointコンポーネントを追加します。
オブジェクトのTransformを以下の値に設定します。
これで風車の台座の位置にトラベルポイントが設定されます。
シーン再生時はこのトラベルポイントを無効化しておきます。
オブジェクトのチェックを外して無効化することで、トラベルポイントを無効化できます。
Meshでは複数のトラベルポイントが有効である場合、テレポート先をランダムに選択します。
シーン起動時はTeleportLocationChapter3のトラベルポイントから開始したいため、これを唯一有効なトラベルポイントに設定しておく必要があります。
指定のトラベルポイントにテレポートを行う
次にボタン押下時に追加したトラベルポイントにテレポートする処理を追加します。
TeleportToWindTurbinButtonオブジェクトのビジュアルスクリプトを開き、IFノードのTrueポートにSetActiveノードを接続します。
SetActiveノードの参照にTeleportLocationWindTurbineのトラベルポイントを指定して、[Value]にチェックを入れます。
これでボタン押下時にトラベルポイントが有効化されます。
SetActiveノードから更にTravel Point: Travel to Pointノードを接続します。
本ノードがテレポートを行うノードになります。
ノードのスクリプト参照項目にある丸ボタンをクリックすると、TravelPointを持つオブジェクトへの参照の一覧が表示されます。
先ほど作成したTeleportLocationWindTurbineオブジェクトの参照を設定します。これでテレポートの設定は完了です。
動作テストを行う
シーンを再生して動作を確認します。
TeleportToWindTurbinButtonオブジェクトのボタンをクリックします。
以下のように風車の台座にテレポートできれば成功です。
次回はMesh Interactable Setupを使ってオブジェクトを掴む設定を行います。