【Unity】ビジュアルスクリプティングのメリットとデメリット【Bolt】
UnityのアセットであるBoltがUnityファミリーに加わったことで無償化され、ビジュアルスクリプティングに入門しやすくなりました。
このページでは画面上でノードをつなぎ合わせてゲームの動きを作っているビジュアルスクリプティングのメリット、デメリットについて紹介します。
Boltとは
BoltとはUnityで使えるアセット(ユーザーが作ったプラグインのようなもの)で、C#でコードを書かなくてもゲームを作っていくことができる機能です。元々有料で販売されていましたが、Unity社がBoltを買い取ってUnityファミリーに加わったことで全てのユーザーが無料で使えるようになりました。
イメージとしてはアニメーションコントローラーを編集するときのAnimatorウィンドウのような感じで、画面上でノードを作ってつなぎ合わせていって動きを作っています。
C#でスクリプトを書くときに使っているStart()やUpdate()のタイミングで呼ばれる処理の流れ(フロー)も作成できるので、元々C#に慣れている人でも馴染みやすい形になっています。
Boltについてや無料化の経緯、Boltのインストール方法については以下のページでも紹介しているので興味があったらこちらもご覧ください。
ビジュアルスクリプティングとは
ビジュアルスクリプティングとは画面上でスクリプトを作り上げていくこと。よく見られるC#のコードを書いて動きを作っていくものをスクリプティングと呼んでいて、これに対して文字列ではなく画面上に表示されたパーツを組み合わせて動きを作っていくのがビジュアルスクリプティングです。
例えば以下のようにノードをつなぎ合わせて動きを作っていきます。一見パーツがたくさんあって全体を追うのが大変なようにも思いますが、ノードをつないでいる線を追っていくことで流れを理解しやすくなっています。
ビジュアルスクリプティングについての詳細も以下のページで触れているので、こちらもご参照ください。
ビジュアルスクリプティングのメリット・デメリット
ここからはビジュアルスクリプティングを導入するメリットやデメリットについて触れていきます。
ビジュアルスクリプティングのメリット
ビジュアルスクリプティングの良さはなんと言ってもコードを書かなくていいこと。C#でコーディングする(スクリプトを作る)必要がないので、プログラミングに慣れていない人でもUnityでゲーム開発を始めやすくなっています。
Unityを使ってゲーム開発をしよう! と思い立っても、初心者の前には以下の壁が立ちはだかります。
- Unityの操作方法を覚える
- C#のコーディングを覚える
元々プログラミングに慣れている人なら下の「C#のコーディングを覚える」は大きな障害にならないので、Unityの使い方を覚えるだけで済みます。しかしどちらも慣れていない人であれば大きな壁が2つもそびえ立っていることに。
2つも大きな壁があると、いかにやる気があったとしても心が折れやすくなっちゃうんですよね。せっかくゲームのアイディアがあるのにこれはもったいないことです。
この点を補助してくれるのがビジュアルスクリプティングです。プログラミングでは処理の手順(アルゴリズム)を意識することが大切ですが、ビジュアルスクリプティングではそれを視覚的に表現することになるのでイメージが湧きやすいんです。
何をどのような順番で処理していくかは、通常のプログラミングではフローチャートの形で表現されます。フローチャートに沿って処理をコードの形に変換していく作業が含まれていますが、ビジュアルスクリプティングではこのフローチャートがそのまま画面に現れているような形で作成できるので一手間少ないのです。
手間が少ないということは、初心者にとって超えるべきハードルがひとつ減るということ。それだけでもゲームを完成させられる可能性が高くなります。
コーディングに慣れた人にとってのメリット
既にコードを書ける人にとってはメリットが多くないように感じるかもしれませんが、目で見て流れが分かりやすいことで新しくチームに入った人やデザイナーさんが処理を理解しやすいというメリットがあります。
チーム内の意思疎通がスムーズに進むということは作業が円滑に進むということであり、ゲームのリリースまでの時間も短縮できるかもしれません。
これからUnityを使ってゲームを作ろうと思っている人には、大きなハードルになるであろうC#になるべく触れない点はとても良いことだと思います。ゲームを作ることの楽しさを感じることができますからね。
頭の中で思い描いた処理の手順(アルゴリズム)を図(フローチャート)として描いたものがそのまま画面に表示されているような感じで作っていけるので目で見て分かりやすいのが良いですね。
もちろん最初からC#を学ぶ場合も他に応用が利くというのがあるので、選択肢が増えたというのは素晴らしいことです。
ビジュアルスクリプティングのデメリット
デメリットとしては、ビジュアルスクリプティング自体の学習コストがかかること。
既にUnityでは
- Shader Graph
- Visual Effect Graph
といったビジュアルスクリプティングのツールが提供されており、これらに慣れている人であれば簡単に作業できます。
しかし、こうしたビジュアルスクリプティングが初めてであれば慣れるまでちょっと時間がかかるかもしれませんね。それでも直感的に操作できることからプログラミング初心者がC#を1から勉強するよりは早いと思います。
プログラミングに慣れている人なら、中身のアルゴリズムが変わっているわけではないので操作方法だけ覚えてしまえば割とスムーズに入れると思います。私も1週間くらいのキャッチアップでゲーム1本作れたので、学習コストがかかると言ってもそれほど大きなコストではないかなーという印象です。
もしキーボード入力が速い人であれば、画面上で項目を選択しながらマウスをポチポチするのはちょっと遅く感じるかもしれません。思考の速度に対してGUIの操作は結構遅れがちですからね。この点のもどかしさはツールの仕様上しょうがない点でもありますが、気になることもあるかもしれません。
また、これはプログラミングに慣れている人にとっては不安になる要素ですが、バージョン管理のツールとはあまり相性がよくないんです。単純なテキストではないので、管理するのは大変なんですよね。ファイルの変更履歴は記録できても、複数人で開発してマージする、みたいなことができないので注意が必要です。
この辺りの注意点や考えるべきことはmarutonさんのnoteも参考に。
ビジュアルスクリプティングを場面で使い分けるのもあり
システムのコアになる部分、すなわちプログラマーさんしか触らない部分については通常通りC#のスクリプトで実装し、デザイナーさんたちが触る部分についてはビジュアルスクリプティングで実装できるようにする、なんて使い分けができるといい感じに進められると思います。
自作関数との連携もBoltなら可能なので、作業範囲を切り分けながら連携部分をプログラマーさんがうまく作ってあげられるとチーム内の開発がスムーズになるかも。
ビジュアルスクリプティングを使う/使わないと100%どちらかのルートに切り倒すよりも、程よくミックスできるとスムーズに進められます。
この判断は、ディレクターとしての側面も持っている個人開発者の腕の見せ所ですね。
まとめ
このページではビジュアルスクリプティングを導入するメリットとデメリットを紹介しました。もし今進行中のプロジェクトがあるならその途中で導入するのは大変ですが、プロジェクトの合間などに検証用のプロジェクトとしてBoltでミニゲームを作ってみるとそのメリットを享受できると思います。
特に普段コーディングをしないデザイナーさんやプランナーさんがチームにいるなら、コーディングすることなく調整作業を行うことができるようにもなるので、プログラマーの負担も減るかもしれませんね。
メリット・デメリットを頭に入れてから導入するとBoltの力を引き出してより効率的なゲーム開発ができるようになります。
ゲーム開発の攻略チャートを作りました!
-
前の記事
料理人を目指すか素材の生産者を目指すか【ゲームの素材から作る?】 2020.10.20
-
次の記事
普段使っているPDCAをゲーム作りにも導入してみよう【ゲーム開発】 2020.10.22
コメントを書く