Taskノードで待機

前回までの作業がまだ済んでいない場合は、基本的な使い方から前回までのチュートリアルを先に済ませてください。

ここではLogic Toolkitにおける一定時間待機する方法を紹介します。
内容は以下の通りです。

  • Logic Behaviorコンポーネントの付いたGameObjectを作成する。
  • Logic Editorウィンドウでグラフを開いて編集する。
  • 指定秒数を待機するTaskノードを使用する。

シーンを新規作成

他のシーンを開いていると混乱の元となりますので、シーンを新規作成しましょう

  • メニューからFile > New Sceneを選択
  • New SceneウィンドウでBasic (URP)を選択
  • Createボタンをクリック

Logic Behavior付きGameObjectの作成

シーンにLogic Behaviorコンポーネントが追加された状態のGameObjectを作成します。

  • Hierarchyの+ボタンをクリック
  • メニューからLogic Toolkit > Logic Behaviorを選択
  • 名前はそのままEnterキーで確定。

Logic Editorウィンドウを開く

Logic BehaviorコンポーネントのグラフなどはLogic Editorウィンドウで編集します。
ウィンドウが表示されていない場合は、GameObjectを選択してInspectorの「Edit」ボタンをクリックすることで表示されます。

  • Logic Behaviorオブジェクトを選択
  • InspectorウィンドウのLogic BehaviorコンポーネントのEditボタンをクリック

すでにLogic Editorウィンドウが表示されている場合は、HierarchyウィンドウでのGameObject選択と連動してグラフが切り替わるようになります。

Wait For Secondsを作成

グラフビューにWait For SecondsのTaskノードを作成してみましょう。

  • Startノードの実行出力ポートをドラッグ
  • 右側付近のグラフビュー上でドロップし、ノード作成メニューを開く
  • Scriptsタブを選択
  • 一覧からTasks > Wait For Secondsを選択
  • ノード名はそのままEnterキーで確定

TaskノードとTaskComponent

作成したWait For SecondsコンポーネントのTaskノードについて説明します。

Taskノードは、何かしらの処理を行い完了まで待ってから次に遷移するノードです。
どのような処理を行うかはTaskComponentに定義されています。

Taskノードが実行されると、TaskComponentで定義した処理が実行され、完了するまで待機してから次のノードに遷移します。

今回は指定秒数の経過を待つWait For SecondsというTaskComponentを使用しています。

ノードとノード用コンポーネントが別々に作られている利点はいろいろありますが、ひとまずここではTaskノードとTaskComponentがそれぞれ別に定義されており、組み合わさることで実行されることを覚えていただければ十分です。

Wait For Secondsの設定

Wait For SecondsのSecondsフィールドを「1」に設定してください。

  • Secondsフィールド1に設定

Debug.Logを作成

待機が完了したことをDebug.Logで表示しておきましょう。

  • Wait For SecondsのCompletedポートをドラッグ
  • 右側付近のグラフビュー上でドロップし、ノード作成メニューを開く
  • Scriptsタブを選択
  • 一覧からActions > Debug > Debug.Logを選択
  • ノード名はそのままEnterキーで確定

Debug.Logの設定

Debug.LogのMessageフィールドを「Completed!」に設定してください。

  • MessageフィールドCompleted!に設定

プレイして確認

ここまで作成するとグラフは以下のようになっています。

プレイボタンを押して挙動を確認します。

  • プレイ中にグラフビューを見ると、Wait For Secondsで1秒間待機していることを確認。
  • 1秒経過後にConsoleウィンドウに「Completed!」と表示されることを確認。

Consoleウィンドウが表示されていない場合は、メニューからWindow > General > Consoleを選択して表示してください。

動画ではプレイモードを分かりやすくするため、Playmode tintを赤く変更してあります。

Taskノードはこのように処理の完了を待ってから次のノードに遷移します。
Taskノードの次の接続先がない場合はそこで実行が終了します。

シーンの保存

ここまでの内容を次回でも使用しますのでシーンを保存しておいてください。

  • Ctrl S(Win)、⌘ S(Mac)、あるいはメニューからFile > Saveを選択
  • Assetsフォルダを選択
  • Taskという名前で保存

次回

次回は、Restartノードで最初に戻るを行います。

試用版でお試しの方は、お気に召しましたらアセットストアにてご購入ください。