2016、12月1日の記事です。ナンチャッテUnityエンジニアの荻野です。AdventCalendar初日の記事、パート2を書きます。この一年間、私はUnrealEngine4のブループリントの影響でビジュアルスクリプト大好き人間になってしまいました。個人的に感じているビジュアルスクリプトの利点は・スクリプトの流れが視覚化されるのでわかりやすい・デザイナー、アーティストといった今までスクリプトを扱ったことがない人でも直感でロジック制御が出来るようになる・スクリプトの知識がないプランナー、ディレクターがプロトタイプを高速で作成、検証が出来るので面白いゲームを作れる可能性がグッとあがる・エンジニアが別の集中すべきところに力を割くことができるというところです。プログラムの知識がない人間でもロジックが組みやすくなったことにより、プログラマーが居なくても少人数で高速でプロトタイプを作れるようになるのがありがたいです。社内の新規作成でDとプランナーが毎日尋常じゃなくコロコロ仕様を変えてくるので、もうお前が作れよといいたくなってから何かないかと調査し始めた時にブループリントに出会ったのは内緒unityでもビジュアルスクリプトがアセットで販売されていないか、ちょこちょこ調べていました。発表で紹介した2つ目のアセット「nottorus」です。$250ですが、UnityでBlueprint(っぽいエディタ)が扱える強烈なアセットです。2016年9月11日そんな時、東ゲ部もくもく会でftvoidさんが、UnrealEngine4のブループリントみたいなアセットが販売されているということを発表していたので、ブループリント大好き人間な私も購入して少しいじってみました。Nottorusこちらから購入できます。お値段250ドルと大分お高いアセットです。間違いなくブループリントを参考にしていると思われるデザインです。サンプルを開いてみるとますますブループリントっぽい。アセットの説明文にも書いてある通り、デザイナー、アーティストでも複雑なC#スクリプトを作りやすくはしますが、Unityの基本的なAPIは一通り把握しておく必要があります。これを理解したうえでNottorusを使用すると開発効率がグッと上がると思います。エディタの基本機能を引用しました。Unityで使用しているC#のプロパティ、メソッドはほぼ網羅している上、デバッグも視覚的でわかりやすくなるのでデバッグもしやすくなる利点もあります。ここら辺もブループリントを参考にしていると思われます。今後、バージョンアップによってアセット自体が非対応になる可能性は非常に高いですが、今のところ購入しても損はないかと思います。ftvoidさんが定期的にNoottorusの実装状態をアップしているので、いじってみたいと思っている方は見てみるといいかもしれません。Nottorusでゲームのタイトル画面を実装しました。スクショはカーソルを点滅させる処理。Objectsここの動画を見れば一通り使い方は分かると思います。Editor」を選択します。Nottorusを起動した場合は認証画面が表示されます。PayPalで取引)で確認が出来ます。説明の上にある#より後ろの数字が認証コードです。認証成功したら以下のような画面が開きます。NewScriptを開いてノードベースのスクリプトを作成します。次に継承するスクリプトタイプを選択します。ここではMonobehaviourを選択します。スクリプトタイプを選択したらCreateScriptをクリックしますフォルダが開くので、適当な名前、位置で保存します。保存するとエディタ画面が開きます。ここから処理を実装していきます。※Nottorusで開けるのはntsファイルのみです!C#スクリプトは開けません。スクリプト実装(簡単な移動処理)とりあえずコントローラーの上下左右を押すと移動するだけのスクリプトを作成します。こんな感じでUpdateメソッドに移動処理を書いてみました。何回かUnityスクリプトを実装した人であればなんとなく処理のイメージが沸くと思います。それでは早速実装していきましょう。左のClassFunctionsでUpdateを選択しましょう。ClassFunctionsの操作ClassFunctionを追加したい場合は左の+をマウスオーバーすると「+Function」選択すると増えますFunciton名をクリックすると名称を変更できます。カスタムメソッドを作る場合はこうして作成していきましょう。メソッドを削除する場合は該当のFunctionを右クリックして、Deleteを選択すると削除されます。入力の値を取得するようにしましょう。Input.GetAxisです。エディタの空いてるところに右クリックするとNodesListが開きます。ここから取得する処理を選択します。検索入力欄にGetAxisと入力すると、InputにGetAxisが出てくるのでクリックします。するとInput.GetAxisが追加されます。上下の入力値を取りたいので、axisNameに"Vertical"と入力します。これでInput.GetAxis("Vertical");と書いたことになります。Horizontalも追加します。ここでローカル変数のVector3dを作成しましょう。Variables」が出てくるのでクリックします。するとローカル変数が追加されます。名前も適当に分かりやすい名前に変えましょう。デフォルトだと、型がintになっているので、Vector3に変えましょう。下にVariableTypeという項目があるので、プルダウンからVector3を選択します。このローカル変数をエディタへドラッグ&ドロップします。するとこのようにローカル変数が追加されます。このローカル変数に値を入れましょう。Updateの白矢印をクリックしたままドラッグすると線が伸びるので、ローカル変数の「Set」につなげます。ローカル変数のセット上でドロップすると線がつながります。これでローカル変数のセット処理を行うようになりました。新しいVector3を作成していきましょう。Vector3のチェックボックスをクリックしてチェックを入れます。するとこのようにx,y,zをセットできるピンが表示されます。ここのxとzにInput.GetAxisで取得した値をセットしましょう。Input.GetAxisの緑ピン、Resultをクリックしてドラッグすると緑の線が表示されます。これをローカル変数のX,Zの緑ピンに接続します。これでVector3のセットが終了しました。次はtrancformをいじくってキャラを移動する処理を追加します。trancesformを取り出しましょう。InheritedPropertiesにあります。下から二番名にtransformがあるので、こいつをドラッグ&ドロップします。transformのpositionプロパティを使用したいので、transformピンをクリック後、適当な位置で離します。するとNodesListが開くので、positionを入力してプロパティを探しましょう。positionをクリックします。するとpositionプロパティがtransformピンに接続された状態で表示されます。これはスクリプトで書くと、trancform.position;となります。これに先ほどの入力値を加えた上でpositionにセットしましょう。ローカル変数のGetピンを引いた上で適当な場所にドロップして、開いたNodesListにaddを検索します。Vector3にAddというのが表示されているので、これをクリックします。するとVector3.Addノードが追加されます。bにpositionピンを接続します。trancform.position;となります。これはただ単に足しただけなので、positionの値が変更されたわけではありません。この値をもう一度transform.positionにセットする必要があります。エディタの空いている部分でドラッグすると青い四角が表示されるので、tranceformとpositionノードをかぶせましょう。これで選択状態になります。選択された状態でCtrl+Cでコピーし、適当な位置でCtrl+vで貼り付けます。今度はローカル変数の白矢印から、複製したpositionのsetピンに接続します。次にVector3.AddのResultピンを複製したpositionピンのpositionに接続します。trancform.position;になります。これで変数の代入が出来ました。以上で移動処理の実装が終了したので、最後にUpdateのReturmピンに接続します。これで一通りの実装が終了しました。これではプレハブにスクリプトが貼り付けないので、コンパイルしてC#スクリプトを生成します。上にCompileというボタンがあるので、これをクリックします。エラーがなければ黄色い?から緑のチェックに変わります。ntsファイルを保存したところに同名のC#スクリプトがあるはずです。これでスクリプトの生成が終了しました。プレハブにアタッチしてちゃんと動くか確認しましょう。無事動きました!生成されたC#スクリプトを見てみましょう。}}ある程度ちゃんとしたスクリプトが生成されていることに驚きです。これぐらいなら別にノードスクリプトでなくてもOKですが、視覚的に処理が分かりやすいのがノードベースのよさなので、初心者はAPIを見ながら実装すると覚えやすいかもです。コメントのつけ方Nottorusではコメントもつけられます。コメントを付けたい部分を選択します。選択したノードの上で右クリックをします。nodesを選択しましょう。するとコメントノードが展開されます。適当にコメントを付けます。コメントノードに入れられたノードは、コメントノードをドラッグすると一緒にドラッグされます。これで見やすいように位置調整しましょう。こんな感じにしました。この状態でスクリプトをコンパイルすると、コメントが付きます。}}スクリプトのほうも分かりやすくなったと思います。デバッグスクリプトをデバッグ用でコンパイルすると、Nottorus内で処理の流れをリアルタイムで視覚化した状態でデバッグできます。これが個人的に非常にありがたい機能でもあり、ビジュアルスクリプトを好むようになった理由でもあります。上にあるデバッグがoffになっているので、選択してonにしましょう。クリックするとDebugObjectが出るので、選択してデバッグしたいオブジェクトを選択します。objectを選択しました。これでコンパイルした上でGameを起動します。するとこのように、処理の流れ、出力値が視覚化されるのでおかしな値になっている部分が探しやすくなります。Debugをonにした状態でコンパイルしたスクリプトはかなりすごいことになっているので、リリースする時はちゃんとDebugをoffにして再コンパイルしましょう。}}まとめNottorusの簡単な使い方を記述しました。素晴らしいアセットであるといえます。UE4のブループリントと比べると割と処理落ちしたり、ノードがまとめる機能が見当たらなかったり、検索部分が弱かったりするのでちょっともの足りない部分があります。Nottorus実装で苦労した点は3日目の記事で紹介します。それでもビジュアルスクリプトは開発の効率化を図る上で非常に有効だと思うため、皆様も是非Nottorusを買って素敵な面白いゲームを効率よく開発しましょう。あとUnityでデフォルトでビジュアルスクリプトが使えることを個人的に願っています。UI」の中から何かを翻訳した記事を書くそうです。2016](http://qiita.com/advent-calendar/2016/unity2)、12月1日の記事です。ナンチャッテUnityエンジニアの荻野です。AdventCalendar初日の記事、パート2を書きます。この一年間、私はUnrealEngine4のブループリントの影響でビジュアルスクリプト大好き人間になってしまいました。個人的に感じているビジュアルスクリプトの利点は・スクリプトの流れが視覚化されるのでわかりやすい・デザイナー、アーティストといった今までスクリプトを扱ったことがない人でも直感でロジック制御が出来るようになる・スクリプトの知識がないプランナー、ディレクターがプロトタイプを高速で作成、検証が出来るので面白いゲームを作れる可能性がグッとあがる・エンジニアが別の集中すべきところに力を割くことができるというところです。プログラムの知識がない人間でもロジックが組みやすくなったことにより、プログラマーが居なくても少人数で高速でプロトタイプを作れるようになるのがありがたいです。~~社内の新規作成でDとプランナーが毎日尋常じゃなくコロコロ仕様を変えてくるので、もうお前が作れよといいたくなってから何かないかと調査し始めた時にブループリントに出会ったのは内緒~~unityでもビジュアルスクリプトがアセットで販売されていないか、ちょこちょこ調べていました。dir="ltr">発表で紹介した2つ目のアセット「nottorus」です。<br>$250ですが、UnityでBlueprint(っぽいエディタ)が扱える強烈なアセットです。charset="utf-8"></script>そんな時、東ゲ部もくもく会でftvoidさんが、UnrealEngine4のブループリントみたいなアセットが販売されているということを発表していたので、~~ブループリント大好き人間な~~私も購入して少しいじってみました。#Nottorus![1-1.png](https://qiita-image-store.s3.amazonaws.com/0/104377/c04ef4fa-83e0-0de5-c0ba-0979fc5c37c1.png)[こちら](https://www.assetstore.unity3d.com/jp/#!/content/59656)から購入できます。お値段250ドルと大分お高いアセットです。間違いなくブループリントを参考にしていると思われるデザインです。![sample.png](https://qiita-image-store.s3.amazonaws.com/0/104377/5815158e-cf42-0943-c9b2-e911e5e94fb8.png)サンプルを開いてみるとますますブループリントっぽい。アセットの説明文にも書いてある通り、デザイナー、アーティストでも複雑なC#スクリプトを作りやすくはしますが、Unityの基本的なAPIは一通り把握しておく必要があります。これを理解したうえでNottorusを使用すると開発効率がグッと上がると思います。エディタの基本機能を引用しました。Unityで使用しているC#のプロパティ、メソッドはほぼ網羅している上、デバッグも視覚的でわかりやすくなるのでデバッグもしやすくなる利点もあります。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/2f37dced-41f5-78a3-a87c-22e8d4c206b4.png)ここら辺もブループリントを参考にしていると思われます。今後、バージョンアップによってアセット自体が非対応になる可能性は非常に高いですが、今のところ購入しても損はないかと思います。ftvoidさんが定期的にNoottorusの実装状態をアップしているので、いじってみたいと思っている方は見てみるといいかもしれません。dir="ltr">Nottorusでゲームのタイトル画面を実装しました。スクショはカーソルを点滅させる処理。Objects](https://youtu.be/fLQJVM1gHWM)ここの動画を見れば一通り使い方は分かると思います。Editor」を選択します。Nottorusを起動した場合は認証画面が表示されます。PayPalで取引)で確認が出来ます。![認証番号.png](https://qiita-image-store.s3.amazonaws.com/0/104377/6636b2c2-4554-ef2c-1dcb-03d09b85f74f.png)説明の上にある#より後ろの数字が認証コードです。認証成功したら以下のような画面が開きます。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/8526074a-b782-4ed4-ae80-40f32a836b92.png)NewScriptを開いてノードベースのスクリプトを作成します。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/89f828de-d15e-5f19-d2f5-fc4fa1fec1c0.png)次に継承するスクリプトタイプを選択します。ここではMonobehaviourを選択します。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/9a617a41-ee5c-6be6-222e-8508954990c1.png)スクリプトタイプを選択したらCreateScriptをクリックします![image](https://qiita-image-store.s3.amazonaws.com/0/104377/0903b239-7fd7-3227-6dbf-e8c5b9c1db78.png)フォルダが開くので、適当な名前、位置で保存します。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/aed8deb2-8e59-4650-3282-396b38e70a1d.png)保存するとエディタ画面が開きます。ここから処理を実装していきます。※Nottorusで開けるのはntsファイルのみです!C#スクリプトは開けません。スクリプト実装(簡単な移動処理)とりあえずコントローラーの上下左右を押すと移動するだけのスクリプトを作成します。![nottorus.png](https://qiita-image-store.s3.amazonaws.com/0/104377/a5ab65b8-b646-74b6-cedd-5fdc71784521.png)こんな感じでUpdateメソッドに移動処理を書いてみました。何回かUnityスクリプトを実装した人であればなんとなく処理のイメージが沸くと思います。それでは早速実装していきましょう。左のClassFunctionsでUpdateを選択しましょう。ClassFunctionsの操作ClassFunctionを追加したい場合は左の+をマウスオーバーすると「+Function」選択すると増えます![image](https://qiita-image-store.s3.amazonaws.com/0/104377/664cd243-1938-a136-af49-c33742e24d39.png)Funciton名をクリックすると名称を変更できます。カスタムメソッドを作る場合はこうして作成していきましょう。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/98aae9d1-d746-d695-10d2-f78743bca396.png)メソッドを削除する場合は該当のFunctionを右クリックして、Deleteを選択すると削除されます。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/f98fee98-f168-c672-83cf-732771514337.png)---まずは入力の値を取得するようにしましょう。Input.GetAxisです。エディタの空いてるところに右クリックするとNodesListが開きます。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/dd8b8c3e-2286-e371-cf31-487464fe19b9.png)ここから取得する処理を選択します。検索入力欄にGetAxisと入力すると、InputにGetAxisが出てくるのでクリックします。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/7c34d5ef-1a11-6666-32e3-b0dff9c8ec32.png)するとInput.GetAxisが追加されます。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/2bd8cc47-0e65-68c6-fd13-c42f8b6ca63f.png)とりあえず上下の入力値を取りたいので、axisNameに"Vertical"と入力します。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/2d45d80a-affd-2c5c-db61-858e6deda267.png)これで```ruby:Input.GetAxis("Vertical");```と書いたことになります。Horizontalも追加します。![input.png](https://qiita-image-store.s3.amazonaws.com/0/104377/cdb95095-657e-287d-0638-b79b2375129f.png)ここでローカル変数のVector3dを作成しましょう。Variables」が出てくるのでクリックします。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/7ae71d07-eb76-f8dd-0052-28b782a9d09f.png)するとローカル変数が追加されます。名前も適当に分かりやすい名前に変えましょう。デフォルトだと、型がintになっているので、Vector3に変えましょう。下にVariableTypeという項目があるので、プルダウンからVector3を選択します。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/26400e67-92b7-c0db-7aa9-7e42d7fb55a2.png)このローカル変数をエディタへドラッグ&ドロップします。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/a00fc83d-604d-d911-99e1-d31d2e22be09.png)するとこのようにローカル変数が追加されます。このローカル変数に値を入れましょう。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/66990bb6-33e6-782b-7302-5d5b8d2768bb.png)Updateの白矢印をクリックしたままドラッグすると線が伸びるので、ローカル変数の「Set」につなげます。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/18531347-1d39-5711-c8c3-0b606c1cee3b.png)ローカル変数のセット上でドロップすると線がつながります。これでローカル変数のセット処理を行うようになりました。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/f155dcf2-dc43-0589-ffb7-aad189a37bdf.png)では新しいVector3を作成していきましょう。Vector3のチェックボックスをクリックしてチェックを入れます。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/583240b7-bb42-075f-c32b-2dfa9cc63925.png)するとこのようにx,y,zをセットできるピンが表示されます。ここのxとzにInput.GetAxisで取得した値をセットしましょう。Input.GetAxisの緑ピン、Resultをクリックしてドラッグすると緑の線が表示されます。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/804c27ae-7cae-e516-19d0-20a0d7a91928.png)これをローカル変数のX,Zの緑ピンに接続します。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/a5750b14-0eb1-1733-bcc3-50f57c9231d4.png)これでVector3のセットが終了しました。次はtrancformをいじくってキャラを移動する処理を追加します。trancesformを取り出しましょう。InheritedPropertiesにあります。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/d526ed2c-4b2b-bd67-5a57-4af944bca7fb.png)下から二番名にtransformがあるので、こいつをドラッグ&ドロップします。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/e47d7a8e-4f9c-9e8b-a4d4-1134fe86b5d6.png)![image](https://qiita-image-store.s3.amazonaws.com/0/104377/ad7eeb09-e6a4-a400-939d-bf6b134fccd0.png)transformのpositionプロパティを使用したいので、transformピンをクリック後、適当な位置で離します。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/276975b3-1128-8e83-2a83-4a19e697fbc0.png)するとNodesListが開くので、positionを入力してプロパティを探しましょう。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/4293cfda-87d7-d85e-702f-4504bcb46d2b.png)ありました。positionをクリックします。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/5eb92dd4-486f-245e-c0b6-ad323c048353.png)するとpositionプロパティがtransformピンに接続された状態で表示されます。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/dbc3a616-286d-1ae2-1dbf-2705ac729b90.png)これはスクリプトで書くと、```ruby:trancform.position;```となります。これに先ほどの入力値を加えた上でpositionにセットしましょう。ローカル変数のGetピンを引いた上で適当な場所にドロップして、開いたNodesListにaddを検索します。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/7ddb5541-e11f-4c59-d5a7-e7fbc6e71409.png)Vector3にAddというのが表示されているので、これをクリックします。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/ab5bd1ea-8c5c-3ecd-4f35-7431f652e161.png)するとVector3.Addノードが追加されます。bにpositionピンを接続します。trancform.position;```となります。これはただ単に足しただけなので、positionの値が変更されたわけではありません。この値をもう一度transform.positionにセットする必要があります。エディタの空いている部分でドラッグすると青い四角が表示されるので、tranceformとpositionノードをかぶせましょう。これで選択状態になります。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/2251b69a-2cbd-5273-fa85-eb18ca815362.png)選択された状態でCtrl+Cでコピーし、適当な位置でCtrl+vで貼り付けます。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/52913830-5682-444e-d887-cc1cffd110b5.png)今度はローカル変数の白矢印から、複製したpositionのsetピンに接続します。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/7304b6b8-7161-b279-e376-a1bd2fda48f4.png)次にVector3.AddのResultピンを複製したpositionピンのpositionに接続します。trancform.position;```になります。これで変数の代入が出来ました。以上で移動処理の実装が終了したので、最後にUpdateのReturmピンに接続します。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/c3d3e542-2afc-e351-8cbd-142eb47a858c.png)これで一通りの実装が終了しました。これではプレハブにスクリプトが貼り付けないので、コンパイルしてC#スクリプトを生成します。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/f4686728-78c2-4f5c-8489-859b7431c105.png)上にCompileというボタンがあるので、これをクリックします。エラーがなければ黄色い?から緑のチェックに変わります。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/360479c7-40dc-9637-4c75-ac0057562732.png)ntsファイルを保存したところに同名のC#スクリプトがあるはずです。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/2c5f3ad6-f70c-5250-9c26-891a12fac167.png)これでスクリプトの生成が終了しました。プレハブにアタッチしてちゃんと動くか確認しましょう。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/cd0c4f07-3418-544c-b1bf-8d474eee36f8.png)無事動きました!生成されたC#スクリプトを見てみましょう。transform.position;return;}}```ある程度ちゃんとしたスクリプトが生成されていることに驚きです。これぐらいなら別にノードスクリプトでなくてもOKですが、視覚的に処理が分かりやすいのがノードベースのよさなので、初心者はAPIを見ながら実装すると覚えやすいかもです。#コメントのつけ方Nottorusではコメントもつけられます。コメントを付けたい部分を選択します。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/52567801-f663-966f-ff0a-884d99b46e63.png)選択したノードの上で右クリックをします。nodesを選択しましょう。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/523f2824-194e-ed26-f328-3628fa4a25c9.png)するとコメントノードが展開されます。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/179c5f3d-eda6-d9db-f86c-cd4a337a46c8.png)適当にコメントを付けます。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/58f94579-409b-1916-352f-651ba8c6c3ed.png)コメントノードに入れられたノードは、コメントノードをドラッグすると一緒にドラッグされます。これで見やすいように位置調整しましょう。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/5d704017-6939-6d77-5592-611234f61316.png)こんな感じにしました。この状態でスクリプトをコンパイルすると、コメントが付きます。transform.position;return;}}```スクリプトのほうも分かりやすくなったと思います。#デバッグスクリプトをデバッグ用でコンパイルすると、Nottorus内で処理の流れをリアルタイムで視覚化した状態でデバッグできます。これが個人的に非常にありがたい機能でもあり、ビジュアルスクリプトを好むようになった理由でもあります。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/84074dee-6eb1-1fb2-c7ec-36cbad8517a9.png)上にあるデバッグがoffになっているので、選択してonにしましょう。クリックするとDebugObjectが出るので、選択してデバッグしたいオブジェクトを選択します。objectを選択しました。これでコンパイルした上でGameを起動します。![image](https://qiita-image-store.s3.amazonaws.com/0/104377/90de0ac4-70bf-40fb-e6b4-ace1b6e59799.png)するとこのように、処理の流れ、出力値が視覚化されるのでおかしな値になっている部分が探しやすくなります。Debugをonにした状態でコンパイルしたスクリプトはかなりすごいことになっているので、リリースする時はちゃんとDebugをoffにして再コンパイルしましょう。sequence#endif#endifreturn;}}```#まとめNottorusの簡単な使い方を記述しました。素晴らしいアセットであるといえます。UE4のブループリントと比べると割と処理落ちしたり、ノードがまとめる機能が見当たらなかったり、検索部分が弱かったりするのでちょっともの足りない部分があります。Nottorus実装で苦労した点は3日目の記事で紹介します。それでもビジュアルスクリプトは開発の効率化を図る上で非常に有効だと思うため、皆様も是非Nottorusを買って素敵な面白いゲームを効率よく開発しましょう。あとUnityでデフォルトでビジュアルスクリプトが使えることを個人的に願っています。UI」の中から何かを翻訳した記事を書くそうです。送信いただいたご意見への返信は行っておりません。お問い合わせください。