このマニュアルでは、ヴィジュアルスクリプト画面の操作方法について説明を行います。
ヴィジュアルスクリプトエディター
用語の説明
四角い箱はステートといいます。ステートは、オブジェクトの今の状態を示します。1つのステートに1つの再生するアニメーションを指定し、実行したい動きをアクションとして詰めていきます。
つながっている線はリンクといいます。リンクは、ステート同士を接続して、別のステートへの遷移の条件を指定します。
ステート/リンクのカスタマイズ
ステート/リンクはインスペクターのVisualScriptNodeより色やタイトル、メモを変更することができます。
ステートの種類
-
初期ステート
他のステートよりも色が明るくなっているものが初期ステートです。オブジェクトの動作が始まる際、この初期ステートからスタートします。
ステートの右クリックメニューから初期ステートを変更することができます。
-
ショートカットステート
のアイコンがついたものはショートカットステートです。同名のアイコンがついていないステートと同じものとして扱われます。
ステートの右クリックメニューからショートカットを作成を選ぶか、選択状態でCtrl+Shift+Dを押すことで複製することができます。
-
AnyState
その名前の通り、「全てのステート」を意味します。
このステートからリンクを繋ぐことで、どのようなステートからであっても、条件を満たせば遷移するようになります。
遷移後は、実行アクション「前のアクションに戻る」(Transfer To Action)によって遷移前のステートに戻ることもできます。
前作アクションゲームツクールMVでの「コモンアクション」に相当します。
グループボックスの作成
なにもない場所を右クリックして「グループボックスを追加」することでグループボックスを追加できます。
グループボックスはフォルダーのようなもので、中に入れたアクションやリンクをまとめて移動したり、閉じて見やすくすることができます。
ステートのインスペクター
アニメーションの設定
こちらでは再生するアニメーションに対する設定を行うことができます。
遷移前のアニメーションを維持(Continue Previous Animation): この前のステートのアニメーションを引き継ぎます。
逆再生する(Play Animation Backwards): 指定したアニメーションを最後から逆再生します。
アニメーションカテゴリ名(Select Animation): このステートで再生したいアニメーションを再生します。GameObjectノードで事前に読み込まれたアニメーションのみを指定できます。
表示方向(Animation Facing Direction): アニメーションの方向を指定します。未指定の場合は現在移動している方向を向くようになります。
アクションの設定
基本的な動作に関する設定を行います。
ジャンプ動作を行う(Jump): ジャンプを行います。ジャンプ力はMoveAndJumpSettingsで設定できます。
調整ジャンプを有効化(Use Variable Jump): ボタンを押した長さによってジャンプ力が変わるようにできます。調整ジャンプ用のボタンを
MoveAndJumpSettingsで事前に設定することが必要です。
動作中の移動の入力を受け付けない(Ignore Input): このステートの間、移動できないようにできます。
重力の影響を無視する(Is not Affect by Gravity): このステートの間、次の項目で設定した割合の重力を無視するようになります。100%に設定した場合のみ、慣性も無視します。
重力の影響を表示方向に反映(Gravity Direction Is Facing Direction): このステートの間、重力の方向が表示方向に影響するようになります。通常は下方向のアニメーションが再生されることになります。
左右/上下の移動速度(Speed Multiplier): このステートの間、移動速度が指定の%変更されます。
1フレーム経過させる(Apply 1Frame Delay On Exit): ステート1つにつき1フレームの時間が経過します。これは、連続でステートが遷移してしまわないための措置です。しかし、この設定をオフにすることで経過しなくなります。計算のみを行うステートなどではオフにすることが有効です。
実行アクションの設定
ここではそれぞれのアクション内容の解説は行いません。共通の動作のみ説明します。
アクションの追加
実行アクションの配列(Array)を開き、実行アクションの追加を押すことでアクションを追加できます。
アクションのコピー
追加したアクションを右クリックすることでコピーすることができます。
この際、コピーメニューはかなり下の方にあるので注意してください。
アクションのペースト
サイズメニューの値を増やすことで、<空>のデータを増やすことができます。
<空>のデータを右クリックしてメニューよりペーストを選択するとコピーしたアクションをペーストすることができます。
アクションのユニーク化
この方法でペーストしたアクションは、「非ユニーク」と呼ばれる連動状態でペーストされます。
この状態で一方のアクションを編集すると、編集内容がもう一方のアクションにも自動で反映されます。
どちらか一方のアクションを右クリックメニューから「ユニーク化」することで連動状態を解除できます。
例によってかなり下の方にあるのでご注意ください。
リンクのインスペクター
優先度(Priority)
同時に遷移条件を満たす場合、この値がより高いリンクが起動します。
ステートを切り替える条件(Conditions for Switching Actions)
全ての条件が満たされた(SATISFY_ALL): 「入力条件」と「その他の条件」の双方が満たされた場合に遷移します。
いずれかの条件が満たされた(SATISFY_ANY_OF): 「入力条件」と「その他の条件」のいずれかが満たされた場合に遷移します。
アニメーションが終了した(FINISHED_ANIMATION): 前のステートのアニメーションが再生終了したら自動で遷移します。
無条件(UNCONDITIONAL): 前のステートの実行アクションの処理が終われば即座に遷移します。
何も入力されなかった(Trigger On No Input)
入力がニュートラルの状態を示します
以下の入力がされた(Trigger On Input)
指定の入力があった状態を示します。
<空>の配列を選択し、新規入力条件の追加より入力を追加できます。
プロジェクト設定のインプットマップに設定された入力アクションが選択できます。
入力に使う操作キー(Registered Key): 特定のキー1つを指定します。押された瞬間/押されている間/離された瞬間/離されている間からタイミングを指定できます。
4方向の任意のキー(Four Any Input Key): 主に移動に関する条件で使います。4方向それぞれに任意のキーを割り当てます。MoveAndJumpSettigsで設定するキーはキャラクターの移動方向の指定に使うもので、こちらはこの遷移条件にのみ適用されるもののため、個別に設定が必要です。
コマンド形式(Command Type): いわゆる格闘ゲームのようなコマンド入力を遷移条件とします。少し深いですが、CommadInput0,CommandInput1の順に入力をすると遷移します。受付フレーム(AcceptFrameCount)のフレームの間に入力することが必要です。以下の画像の例であれば、5フレーム以内にA→Bと入力することで条件を満たします。
条件
追加方法やコピー/ペースト方法は実行アクションと同様の方法になります。
前の条件との論理条件(AND/OR)
その名の通り、ANDであれば前の条件とこの条件が同時に満たされた場合、ORであれば前の条件とこの条件のいずれかが満たされた場合に条件を満たしたことになります。
1つめの条件では動作しません。
複数の論理条件の接続
前の条件との接続のみで判断されます。
そのため、
A AND B OR C AND D
と4つの条件を作った際の計算は
(((A AND B) OR C) AND D)
という条件式となり、AとBを満たし、同時にDを満たすか、CとDを満たす場合に条件を満たします。
「いいね!」 1