MRが楽しい

MRやVRについて学習したことを書き残す

Meshの環境作成チュートリアルMesh 101を試す その10(ビジュアルスクリプトを使ってアニメーションをトリガーする)

本日はMicrosoftMeshの小ネタ枠です。
Meshの環境作成チュートリアルMesh 101を試した内容を記事にします。
今回はビジュアルスクリプトを使ってアニメーションをトリガーする手順です。

前回記事

以下の前回記事の続きです。
bluebirdofoz.hatenablog.com

ビジュアルスクリプトを使ってアニメーションをトリガーする

今回はWindTurbin1オブジェクトをジオラマに配置すると風車が回転するようにします。
初めに4.2 - Animation Triggerオブジェクトをダブルクリックして[Scene]画面を移動します。

AnitmationTriggerオブジェクトの領域に入るとアニメーションをトリガーするようにします。
Box Colliderコンポーネントの[Is Trigger]にチェックを入れて領域がトリガーとして機能するようにします。

WindTurbine1オブジェクトを選択し、Script Machineコンポーネントを追加します。

今回はすでに用意されているスクリプトグラフをベースにビジュアルスクリプトを作成します。
[Graph]の◎アイコンをクリックしてSPWindTurbineScriptを選択します。

設定後、[Convert]ボタンをクリックします。
これによりSPWindTurbineScriptをベースにスクリプトが埋め込み(Embed)形式に変換されます。


コライダーのトリガーを検出して指定のアニメーションを実行する

ビジュアルスクリプトを編集してコライダーのトリガーを検出して指定のアニメーションを実行する処理を追加します。
SPWindTurbineScriptではコライダーのトリガーを検出してアニメーションをトリガーするノードがすでに組まれています。

Set Triggerノードのアニメーションの参照が欠けているので、アニメーション参照のみ設定する必要があります。
WindTurbine1オブジェクト配下のWindmill_Turbine_001:Propellors10オブジェクトにアニメーションが設定されています。

設定されているアニメーションコントローラを確認すると[Start]のトリガーを受け取るとpropellerアニメーションが再生されることが分かります。

Set Triggerノードの参照にWindmill_Turbine_001:Propellors10オブジェクトをドラッグするとアニメーションコントローラへの参照が設定されます。
[Name]変数に[Start]を設定することで、[Start]のトリガーが実行されるようになります。

ビジュアルスクリプトの下方にはコライダーのトリガーから離れた場合のノードがあるので、こちらには[Stop]のトリガーが実行されるようになります。

これでビジュアルスクリプトの設定は完了です。

動作テストを行う

シーンを再生して動作を確認します。
Go to Chapter 4のボタンをクリックするとチャプター4のシーンに移動できます。

WindTurbine1オブジェクトを左クリックして掴みます。

オブジェクトをジオラマの領域に持ち込むと風車が回るアニメーションが再生されれば成功です。

次回はオブジェクトを移動できる領域を制限する設定を行います。
bluebirdofoz.hatenablog.com