ビジュアルスクリプトを使ってみます。
Playmakerなんかが一番有名ですが、今回使うのは以前セールで入手したこちら。 ビジュアルスクリプトは初めてですが、どんな感じなのかなと以前から気にはなっていました。 UnrealEngineなんかではブループリントとかいうノードタイプのビジュアルスクリプトが基本らしいですし、少し触ってみても良いかなと。対応しているプラットフォームは Windows、Mac、Linux、Web Player、WP8/WSA とのこと。 WebGLではおそらく動きませんでした。ただWebGLはどうにもビルドが上手くいかないことがあるので、これが原因なのかは微妙ですが。
使っていきます。

処理の流れを作るときは、ノードの黒丸からドラッグドロップで次のノードにつなげていきます。 こういうふうに、見たまま感覚的に処理を作れるので、覚えることは少ないです。勿論、スクリプトで書いた方が早い場合もありそうですが。 ノードはUnityのエディターと同じようにctrl+dキーで複製できます。
感覚的に使えるんですが、それでも最初は分からないところがあったので、そこだけメモっておきます。
変数の追加


扱える型の種類を編集する
少し使ってみれば分かりますが、デフォルトの状態だとすべての型やコンポーネントを扱えるわけではありません。例えば、変数の追加で、uGUIの[Text]を追加しようとして検索をしても見つかりません。 取り扱えるコンポーネントの管理は「Tools」➡「ParadoxNotion」➡「FlowCanvas」➡「PreferredTypesEditor」から操作できます。

ノード自体の見方

分岐、ループ処理
If分岐やwhile、forloop、foreachも当然あります。
1 2 3 4 5 |
for(int i = first; i ; last; i += step) { Do } Done |
処理をまとめる(マクロ)
まとめたい処理をドラッグドロップで範囲選択して、ノード上で右クリック。「ConvertToMacro」でアセットとして保存する形でまとめることができます。 マクロはダブルクリックで詳細を見ることができます。 注意が必要ですが、BlackBoardにある変数を含めてマクロにすると、その変数は参照できません。 マクロ内に残ってはいますが、上手く動いてくれません。 そのため、下の動画のように、マクロの外から引っ張る必要があるかと思います。だいたいこんな感じで使うことができました。 スクリプトの方が良さそうな気もします。 ただ使いどころがなきにしもあらず。
スクリプトが使えれば十分です。
十分ですが。ここからは個人的な話なんですが。
そもそもなんで使おうと思ったかというと、Unity1Weekにゲームを出してみようとしたんですが、WebGLでビルドするにはjavaScriptじゃないといけないんだと思い違いがありまして、javaScriptは触ったことがないからビジュアルスクリプトで処理を書いてみようかなと思いまして、FlowCanvasはWebGLにも対応しているから大丈夫だな、FlowCanvasを使ってみよう、という思考の流れでした。バグだらけの思考でした。
以前はJavaScriptファイルをUnityのプロジェクト内で作ることもできたみたいですが、2018.2.xバージョンからJavaScriptは使えなくなったようです。動きはするみたいですが。 つまりC#推奨。 で、C#でもWebGL環境で動くみたいですし。 とどめに、FlowCanvasはWebGLじゃあ、おそらく? 動かないっぽいし。 何一つ正解がありませんでした。 そのことに1Week用のゲームを作り終えてビルドも通って、公開しようとしたところで気づく。 1Week用のゲームはC#で作り直したんですが、ランキング機能を付けたりすると何故かビルドが通らなくなってしまいました。 1日かけてみたけど、ビルドが通らない。どうにもどこをいじくれば良いのか分からない。Pathに日本語が入っているとダメとかも見たんですが、そんなこともない。 ということで1Weekの期限も過ぎていたのでギブアップ。1Week自体は期限をすぎてもゲーム投稿できるみたいですが、遅れすぎてもなんですし、次回を待つことに。 2018/11/24~2018/11/26の三日間はそんなことをしていました。 何一つ生み出さなかった……。供養も兼ねて、ここでどんなゲームだったか、動画だけこっそりと置いときます。 画像の数が10個かどうかを判断するだけのゲームですが。 まあ、しゃーない。次いこう。