MRが楽しい

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

Unity Learnのビジュアルスクリプティング学習を試す その3(変数によるビジュアルスクリプトの設定)

本日はUnityの技術調査枠です。
Unity Learnのビジュアルスクリプティング学習を試した内容を記事にします。
今回は変数によるビジュアルスクリプトの設定です。

前回記事

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

Graph変数を作成する

Graph変数は設定している対象のGraphで利用できる変数です。
ここでは前回、Rotateノードに直接設定した回転の値をGraph変数で指定できるようにしてみます。

Rotateノードの3つの値をすべて 0 に戻しておきます。
BlackboardパネルのGraphタブを選択します。

New Variable Nameの欄に変数の名前を入力して[+]ボタンをクリックします。
今回はX Rotateという名前を設定しました。

[Type]を[Float(浮動小数点数)]、[Value]を[1]に設定します。

変数の定義の左端にある横棒アイコンをGraphにドラッグします。
するとGraphにその変数を参照するGet Variableノードが追加されます。

Get Variableノードの出力ポートをRoateノードのX Angleの入力ポートに接続します。
これでRoateノードのX Angleの値がX Rotate変数の値で設定されるようになりました。

オブジェクト型の識別

変数で指定できるTypeは以下の通りです。

Float:23.456 や -0.9 などのような 10進数
Integer:23 や -1 などの整数
Boolean:True (真) や False (偽)
String:「hello, world!」のような英数字の連続した文字
Vector3:3D 空間で作業する際に便利な X, Y, Z の 3 つの浮動小数点数のセット
Vector2:2D 空間を扱うための 2 つの浮動小数点数、X と Y のセット
GameObject:シーン内のオブジェクト

ノードの入力ポートで要求されているTypeは上記の一覧で表示されているアイコンと一致しており、そこで識別できます。

ただしビジュアルスクリプトは型について厳密ではありません。
例えばFloatsとIntegersは互換性があり、そのまま接続して利用することが可能です。

動作を確認する

シーンの再生ボタンを押して動作を確認します。
CubeオブジェクトがX軸を軸として回転し始めます。

実行中、Graphウィンドウ上部のValuesボタンを有効にすることで入力されている値を確認できます。

また値を変更してみることも可能です。
BlackboardパネルからX Rotateの値を 3 に変更すると、Game画面でCubeがより早く回転するようになります。

シーンの再生を停止するとX Rotateの値は再生前に設定していた 1 に戻ります。
シーン実行中に行った変更は一時的な変更になることに注意してください。

次回はObject変数の作成です。
bluebirdofoz.hatenablog.com