Designerの4種類のTaskを理解することで基本的な使い方を学んでみます。Treeを扱うためのアセットです。Treeがビジュアルスクリプティングで構築できます。Designerには4種類の「Task」が存在します。Taskこの記事ではこれらの違いをまとめていきます。Treeを組み立てる時、初期状態だと下図のようにルートだけが存在します。これに、試しにログを吐く処理をくっつけてみます。Treeを実行すると、「Logged」というログが出力されます。このような一つの処理単位をTaskと呼びます。Taskと総称します。ログ出力の他にも、攻撃をしたり移動をしたり待機をしたり、といったTaskがあります。Taskというものがあります。Taskは、子として複数のTaskを接続できるTaskです。例として、「子Taskをランダムに実行する」といったものがあります。上図の青いTaskがランダム実行のためのTaskです。「子タスクを同時に実行する」ものなどがあります。Taskの話をする前にTaskの状態について書きます。Taskは実行されると、そのタスクが成功したか失敗したかを返します。最初のログ出力の例の場合、ログ出力Taskが実行されると「成功」になります。ログ出力されると「成功」になる(上図の緑のチェック)ここで、「二つのbool値を比較する」Taskを考えます。このTaskはbool値が一致すれば「成功」、正しくなければ「失敗」になります。bool値が一致しないと「失敗」になる(上図の赤のチェック)このようにTaskには成功、失敗があります。Taskとは、何かしらの条件判定を行ってその結果が成功か失敗かを返すTaskです。実用的な使用例として、Selectorと併せて使う方法があります。Taskの一つで、「子Taskのいずれかが成功するまで順番に実行する」Taskです。Comparisonが判定され成否を返します。これが失敗した場合にはSelectorにより次の子TaskであるLogが実行され、「Failed」というログが出力されることになります。Taskはこのようにして使います。他にもコライダーが衝突しているかをチェックするものや、GameObjectがアクティブかをチェックするものなどがあります。これは、子タスクを一つだけ持ち、その実行方法を制御するTaskです。子タスクを指定した回数だけ実行するTaskがあります。上図の例では、Logが3回実行された終了します。子の成功状態を反転するものなどがあります。Taskの「実行中」状態さてTaskには「成功」や「失敗」があるということを書きました。実はTaskにはこのほかに「実行中」という状態があります。このタスクは実行されると指定した時間だけ「実行中」状態になります。緑は「実行中」そして一定時間経過したら「成功」となります。このようにTaskは「実行中」という状態も持ちます。Designerで扱う4種類のTaskについてまとめました。実際にはゲームに合わせてこれらのTaskを拡張し、AIなどを作っていくことになります。»プロフィールUnityエンジニア。グラフィックスへの興味が強めです。【Unity】【エディタ拡張】テクスチャを指定したUV座標で切り取って保存する【Unity】指定したアセットのAssetBundle名を取得する【Unity】【シェーダ】スクリプトからVP行列を渡してシェーダで座標変換に使う【Unity】【シェーダ】FloatやVectorをリニアライズ対象にするGammaアトリビュート【Unity】【Addressable】アセットバンドルのダウンロード・ロード処理をカスタムする月別アーカイブはてなブログをはじめよう!halya_11さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。