Unity AssetStoreまとめ

アセットストア日替わりタイムセールの記事を書いていきます。

NodeCanvas 「NPC、敵」などの人工知能(AI)のロジックを視覚的に組み立てて、あの手この手でプレイヤーを襲う敵の行動パターンを作ろう!

f:id:assetsale:20170629224251j:plain

f:id:assetsale:20170629020637j:plain

今日のアセット

NodeCanvas

$81.00 => $56.70    30%OFF

 

敵の行動パターン「AIロジック」を視覚的に組み立てるビジュアルスクリプティング

プログラミングせずに組み立てて作るエディタです。

 

また、多くの人気サードパーティ製品(アセット)と連携できるのも特徴です。

 

敵やNPCが〇〇の時

  • プレイヤーの視界に入っていない => 周囲を徘徊する
  • プレイヤーが視界に入った => プレイヤーを追いかける
  • 攻撃がプレイヤーに当たる範囲に入った => 攻撃アニメさせる
  • プレイヤーがボスに近づいた => 別のアセット「Cinema Director」にカットシーン開始の指示を送る

などなど

NodeCanvasを使えば敵やNPCの行動ロジック開発にかかる負担を減らすことができます。

 

f:id:assetsale:20170630223550g:plain

NodeCanvasでAI強化

Unityの無料サンプルプロジェクト「Survival Shooter tutorial

チュートリアル動画の11回目のワンシーン

 

緑色に発光したチョコチョコ動く大きめなキャラに注目!

プレイヤーに接近して、小さな子供を3体配置して逃げる。また近づいて置いての繰り返す厄介なAIを持たせることも。

f:id:assetsale:20170630013736g:plain

10.5 NodeCanvas: Whats Next - Unity 5.6 Behavior Trees - YouTube(3:00辺り)

 

プレイヤーを探してるのが青いライン、発見したのが赤いライン

障害物があるか無いかを探すLOSチェックを視覚的に行えます。

f:id:assetsale:20170630012817g:plain

10.5 NodeCanvas: Whats Next - Unity 5.6 Behavior Trees - YouTube(3:00辺り)

 

 

ビヘイビアツリー

サンプル画像の1枚を読み解いてみた。

 

スタート位置は見切れてるけど、上部の「DYNAMIC」を最初とします。

f:id:assetsale:20170630000722j:plain

YESなら下に進む流れで

 

DYNAMICアイコンからスタート

(不合格を返すまで子ノードを順番に実行し、実行中の子を動的に中止します。

 

左から順に実行します。成立するまで繰り返して実行し、

f:id:assetsale:20170630015017p:plain

↓LOSチェック(NPCとプレイヤーを直線で結んで障害物があるか調べる)

↓ターゲットが真正面にいた

↓セレクタ

f:id:assetsale:20170630014649p:plain

(成功した子を返すまで子ノードを順番に実行し、実行中の子を動的に中止します)

 

分岐A

↓ターゲットまでの距離が5以下なら

〇走るアニメ&ターゲットの方へ行く

f:id:assetsale:20170630015012p:plain

 

分岐B

↓First Success

(すべての子ノードを同時に並列に実行します。)

↓UIのログに「Surrender!」と1秒表示

↓永遠に繰り返す(さらに下にノードが伸びている)

f:id:assetsale:20170630015008p:plain

 

 

直感的なビジュアル・エディタ

f:id:assetsale:20170630002016g:plain

出典:http://nodecanvas.paradoxnotion.com/

 

高度なビジュアルデバッグ

f:id:assetsale:20170630002107g:plain

出典:http://nodecanvas.paradoxnotion.com/

 

詳しくは公式サイトをチェック

 

「チュートリアル第1回」の書きおこし

1. NodeCanvas "Hello World" Unity 5.6 Behavior Trees - YouTube(全16回)

 

目的

Cubeの前面に「Hello World」のテキストを表示するだけの簡単な内容です。

f:id:assetsale:20170630010237j:plain

 

1.シーンにPlaneとCubeを配置

(CubeだけあればOK)

 

2.CubeにBehaviour Tree ownerをアタッチする

(Blackboardは自動的に付いてくる)

f:id:assetsale:20170630004718p:plain

 

3.「CREATE NEW」をクリックすると

バウンドグラフまたはアセットグラフを作成しますか?と聞かれるので

Broundを選択。

f:id:assetsale:20170630004832p:plain

 

3.エディタ画面が開き、最初のアクションを作ります。

エディタ画面の適当な所でクリックするとメニューが開くので

「Action」を選択。

f:id:assetsale:20170630005144p:plain

 

4.エディタに「アクション」のタスクが配置された。

Assign Action Taskをクリック

f:id:assetsale:20170630005550p:plain

 

5.何のアクションを実行するか選択します。

スクリプトを動かしたり、アニメーション、オーディオ、カメラ、入力、移動など色々実行できるようになっている。

チュートリアルでは、検索ボックスで「Log」と入れてました。

f:id:assetsale:20170630005643p:plain

 

6.一番上の「Debug Log Text」を選択

f:id:assetsale:20170630005930p:plain

 

7.詳細に「Hello World」を入力して完成!

f:id:assetsale:20170630010148j:plain

 

8.実行するとCubeの座標に「Hello World」の文字が出現。

f:id:assetsale:20170630010237j:plain

こんな感じでチュートリアル動画が16回にわけて学習できるようになってました。

使い始めは同じ操作して慣れると良さそうです。

 

 

サードパーティ製品と絡めて使う

パッケージダウンロード先(公式サイト)

http://nodecanvas.paradoxnotion.com/downloads/

 

例えば、

Chronos - Time Controlなら時間をコントロールする系で、

パッケージに用意されてる機能を呼び出して直接命令を送ることができたりします。

 

現時点で統合済みのサードパーティーアセット
Chronos - Time Control
Cinematic Sequencer - SLATE
Cinema Director
Core GameKit
DOTween
Easy Save
Inventory Pro
LipSync
Love/Hate
Master Audio
Motion Controller
PlayMaker
PolyNav
SALSA
Simple Waypoint System
• more added constantly...

 

コミュニティ主導の拡張機能
A* Project
cInput
FinalIK
ProCamera2D
Rewired
uFrame

 

パッケージの更新が滞ってて「新機能が使えなかった」と悩んだら、

パブリッシャーさんに「アップデートよろしく」って問い合わせるか、

コミュニティで作られてるように自作で拡張していくスタイルもあります。

 

 

アセット特徴

[ドキュメンテーション、サポート、リソース]
[Unityフォーラム]
実行中の作業に適した最適なツールを選択できます。
反応式挙動ツリーや階層状のステートマシンを直感的で使い勝手のいいノード型エディター内でデザインできます。
(取り消し/やり直し、ズームイン/アウト、複数選択、複製、コピー/ペースト、JSONインポート/エクスポート、コメント、などの機能を完全搭載)
ローカルとグローバルの変数を視覚的に、又はコードを使って伝えることが可能です。それを基にアクターを中心とした、パラメータ化した再利用可能なAI挙動を作成でき、オプションとしてゲームセッション間に変数の状態をセーブ・ロードできます。
UNETを使って、ネットワークを通して変数を自動的に同調可能。
実行時に行われる色分けによって視覚化された、高度なデバッグで実際の動作が詳しくわかります。
リアルタイム編集でプレイモードのあらゆる要素を編集することで、目指すデザインや、それを達成する方法が明確になります。
高性能で非常に高速なReflection Taskを使うことで、既存のコードを直接Unityとサードパーティー製アセットのAPIに自動的に統合することができます。
変更無しでリスト/配列、列挙型、インターフェイスやあらゆる種類の変数を作業に使えます。
内臓のイベントシステムを利用して、ゲーム内の変更に応じて、データの転送などが可能です。
作成された挙動を多くのエージェントの間で、再利用・バインドすることができます。
挙動サブツリーやサブステートマシンを使いデザインを整理できます。
NodeCanvasフレームワークを使えば、アクション・条件・ノードや完全に新しいモジュールを、クリーンかつ説明の充実したAPIならではの使いやすさを活かして作成できます。
サードパーティーのアセットと統合できます。
変更無しで全てのプラットフォームと対応。
完全なC言語#ソースコードが付属!
更に広がる可能性。

スクリプティング経験がなくても…大丈夫!NodeCanvasは、簡単に開発を始められる、作成済みの数百のアクションや条件を最初から含んでいます。 さらに特殊なスクリプトコントロールタスクを使用すればコードを1行も記述しなくても既存のコードやコンポーネントを使えます!
 

 

日本語の翻訳が追いついて無くて情報が古いままです。

以下は比較して足りない部分を抽出しました。

 

・「期間限定の2割引セール」 → 既に終了しています。

 

機能追加

・Custom Object&Attribute Drawersを使用して、可能な限りインスペクタをカスタマイズします
 

前回セール情報

2016年5月頃のMADNESS SALEで登場しました。

 

NodeCanvasの価格

56.70ドルの計算結果 (1ドル 111.9770 円)
56.70ドル は、 6,349円

定価81.00ドルなら、9,071円