top of page

「Visual Scripting(ビジュアルスクリプティング)」による開発の「実践のコツ」

2026年10月20日

こけばし陣屋アイコン

こけばし陣屋

ではでは。
今回は、前回の記事で予告しましたとおり、Unityの「Visual Scripting(ビジュアルスクリプティング)」による開発の「実践のコツ」について、あたしが思ったこと、気づいたことなどをお話ししていけたら、という回になります。

 


以前にも少し書きましたが、「Visual Scripting(ビジュアルスクリプティング)」はテキストベースの C# と完全に同じものが書ける、というわけではありません。同じ動きを再現することはできると思いますが、その書き方には独特の癖のようなものがあり、また、ケースによっては少々まどろっこしい書き方をしなくてはならない場合もあったりするのです。

​

​

さて、これをお読みの方の中には、そもそも「Visual Scripting(ビジュアルスクリプティング)」を触ったことがない、という人もいるでしょう。
 

少しそのあたりを、あたしなりに得た知識を総動員して、解説めいたものをしていきたいと思います。

よろしく、陣屋先生。

まずはなにから始める?

FRIDAYアイコン

F.R.I.D.A.Y.

こけばし陣屋アイコン

こけばし陣屋

そうだね。
まずは「ノード」について、かな。

​

「Visual Scripting(ビジュアルスクリプティング)」における「ノード(Node)」とは、処理のまとまりをブロック状に表現した基本要素のことです。コードを書かずに、これらのブロックにある「ポート(Port)」から接続線(ワイヤー)を伸ばして「ノード」同士を繋げることでプログラムを作成していきます。
 

たとえば、

ノードの例(IF文)

が、「ノード」の一例。IF文の分岐を表しています。ただし、これ単体ではなにも起こりません。前述のとおり、あくまで「基本要素」でしかないので、これに次の「ノード」をくっつけて、「条件を満たす場合の True(真) の処理」と「条件を満たさない場合の False(偽)」を書いていきます。ああ、そうですね、その前提としての「どういう条件なのか?」を表す「ノード」を紫の●のところに繋いであげないといけませんね。

C# を理解している人にとっては問題なさそうだが……。

​

まったくの素人、プログラム開発を始める前の君よりくわしくない人には難しいかもしれないな。

FRIDAYアイコン

F.R.I.D.A.Y.

こけばし陣屋アイコン

こけばし陣屋

まあね……それは認める。

​

あたしには、BASIC と ActionScript と JavaScript の知識がかろうじてあったけど、まったくの素人とは違うのかもしれないな。でも、大体の「ノード」は英語の意味がわかれば、ある程度の予想がつくんじゃないかって思うんだ。この場合の「IF」なら「もし~なら」でしょ?

 

​

主な「ノード」を用途ごとに分けると、こんな感じ。

​

​

1.制御ノード(Control Nodes)

​

処理の流れ(条件分岐やループ)を管理します。

  • If:条件が「真(True)」か「偽(False)」かで処理を分岐します。

  • Switch:値に合わせて複数のルートに分岐します。

  • For Loop / While Loop:繰り返し処理を実行します。

  • Sequence:1つのタイミングで複数の処理を順番に実行します。

​​

2.イベントノード(Event Nodes)

​

ゲームやアプリのきっかけ(トリガー)を受け取るノードで、グラフの起点になります。

  • On Start:Script Machine/グラフの開始時に一度だけ実行されます。

  • On Update:有効な間、毎フレーム実行されます。

  • On Button Click:UIボタンをクリックして離した時に実行されます。

​​

3.データ取得・設定ノード(Get / Set Nodes)

 

オブジェクトの状態や変数を読み書きします。

  • Get系のノード:位置(Position)や変数、テキストなどの現在の値を取得します。

  • Set系のノード:位置や変数、テキストなどの値を書き換えて設定します。

​

4.処理・関数ノード(Function / Math Nodes)

​

計算やアクションを実行します。

  • Add(加算)などの算術演算。

  • Translate や Rotate などのオブジェクト操作。

  • Debug.Log:コンソールにメッセージを出力します。

 

​

ほら、英語だと思えば、なんとなくなにをする「ノード」なのか、意味がわかる気がしない?

​

挙げていくとキリがないけれど、頻繁に使うものは、Graph を編集する画面で右クリックすると出てくる「ファジーファインダー(Fuzzy Finder)」の中にあることが多いね。検索することもできるから、C# で書かれたものを「Visual Scripting(ビジュアルスクリプティング)」で書こうとしたときに便利だよ!

……ん?

​

まるで「C#で書かれたものを参考にする」ような印象を受けたんだけれど、違うかい?

FRIDAYアイコン

F.R.I.D.A.Y.

こけばし陣屋アイコン

こけばし陣屋

実は、それが一番早い進め方だと思うんだ。

​

「Visual Scripting(ビジュアルスクリプティング)」を使ったプログラミングについて書かれた書籍やウェブサイトはもちろんあるけれど、それ以上に C# でのプログラミングについての情報の方が圧倒的に多いからね。だから、「やりたいこと」に「C#」をワードに加えて検索する、って手順で探すことが最初のうちは多かったんだ。

​

もちろん、C# で書かれたもの、すべてを「Visual Scripting(ビジュアルスクリプティング)」で再現できるとは言えないけれど、プログラミングの参考には十分なるからね。勉強にもなるし、知っている「ノード」が増えればできることも増えていくからいいことづくめ!

ふむふむ。

​

ほかに「Visual Scripting(ビジュアルスクリプティング)」でプログラミングをするなかで、気づいたことはあるのかい?

FRIDAYアイコン

F.R.I.D.A.Y.

こけばし陣屋アイコン

こけばし陣屋

うん、さっき「ノード」の例として図を見せたでしょ?
アレを……こうしてこうすると……じゃーん!

IF文全体(例)

さっき言っていた「条件」と「True(真)なら」と「False(偽)なら」を追加すると「IF文全体」はこうなるよ、って例だね。ここでは「変数iが1より大きい」が「条件」で、「True(真)なら」は「変数 IsBig に True をセットしてね」、「False(偽)なら」は「変数 IsBig に False をセットしてね」って意味になるね。

​

ここでいう「変数 i」や「変数 IsBig」は、Graph 画面左下の「Blackboard」であらかじめ宣言しておけば、ドラッグ&ドロップで「ノード」に追加することができるようになるの!

Blackboard(例)

そのまま持ってくる、Shiftキーを押しながら持ってくる、とかいくつか便利な機能があるんだけれど、それはUnity公式にある「Visual Scripting(ビジュアルスクリプティング)」のマニュアルや書籍・ウェブサイトとかで紹介しているから、ここでは割愛しまーす。

そこをひとつひとつ説明していくと、記事がいくつあっても足りないだろうからね。
餅は餅屋ということにしよう。

FRIDAYアイコン

F.R.I.D.A.Y.

こけばし陣屋アイコン

こけばし陣屋

ですです。

​

でも、視覚的な操作が簡単にできて、ぽいぽいっと繋げていけばできる!って言われたら、少し興味が出るかなって。さすがに「直感的にプログラムができる」ってのは言いすぎだけれど、これだけで「うわ、面白そう!」って思う人もいると思うんだよね。

 

テキストベースのコーディングでは、全体を把握するのがあたしには難しくて……。でも、こうやって Graph になっていたら順番に辿っていけばいいし、変数も「Blackboard」を見れば一目瞭然だからね。あたしはこっちの方が好きだなー。もちろん、人によって向き・不向きはあるけど。

​

前の記事でも書いたけれど、まさにこれって「電子ブロック」みたいなコツコツ積み上げるタイプのモノづくりじゃない?
 

もし少しでも興味を持っていただけたら、ぜひ触って体験してみてくださいね!

というわけで、「実践のコツ」と言いながら、割と「Visual Scripting(ビジュアルスクリプティング)」ってこんな感じ!という内容に終始してしまいました……。ですので、「Visual Scripting」のカテゴリの中でもう少しくわしく、また、あたしが役に立ったテクニック・Tipsみたいなものを連載していければと思っています。

​

そして、記事本編の続きとしては……プログラミング完成後に避けては通れない、App Store Connect や Google Play Console にアプリを登録・公開するときのポイントについてお話しできたらと思います。

Comments

Share Your ThoughtsBe the first to write a comment.
bottom of page