PlayMakerを使ったUnityゲーム開発

2020年5月31日

自分は小さい頃からゲームが好きで、ノートにすごろくを書いたりして遊んだりしていました。
当時はパソコンなんかが復旧しておらず、手作りで遊ぶのがメインでした。

ゲームって遊ぶのも楽しいんですが、自分で作ったものを楽しんでもらってるのを眺めるのも同じぐらい楽しいんです。
最近だとPCがお手軽に触れるようになり、無料で利用できるゲームエンジンがたくさんあります。

今日はその中でも、広く使われているUnityと、そのアセットであるPlayMakerを使ったゲーム開発についてお話いたします

Unityとは?

ゲームエンジン

聞いたことはあるかも知れませんが、Unityとは何でしょうか?

Unity公式サイト

いわゆるゲームエンジンと言うものです。ざっくりな説明をすると、ゲーム開発を支援するツールのことです。
ゲームを作りたいなぁと思ったとき、1から作るのはとても大変です。一昔前は、DirectXと言うライブラリを使って作ることがありましたが、画像を表示するだけで、一苦労したものです。
その点Unityだと画像をドラック&ドロップで表示できちゃうので本当に便利です。

ゲーム開発で行うテンプレート的なお約束の処理を、あらかじめ用意してくれている。そのあたりを総称してゲームエンジンと呼びます。
表示関係なんかはもちろんなんですが、物理演算なんかもあらかじめ搭載しており、ゲーム以外としてもいろんな使い方が出来ます。
最近だとVR関係のことにも使えてたり、Vtuberでよく使われているLive2Dを使うことも出来ます。

ゲームに興味が無い人でも、用途がたくさんあるので、一度触ってみることをおススメしますよ!

マルチプラットフォーム

また、マルチプラットフォーム開発が出来るのも特徴の一つです。
マルチプラットフォーム開発というのは、一つのプロジェクトから、AndroidやiOSなど、異なるOSで動くゲームを作れるというものの事です。
最近ではコンシューマ向けのフォローもされているので、Switch向けの展開を行うことも出来ます。
個人でゲームを作る場合、このあたりを意識しなくてもいいのは本当に便利です。

ここではUnity自体の説明は簡単に済ませます。良くわかんないけどゲーム作りたいと思ったらまずはUnity!そのぐらいの認識で大丈夫です!

PlayMakerとは?

PlayMaker(プレイメーカー)ですが、こちらはあまり聞いたことが無い方が多いと思います。

公式サイトへのリンク

PlayMakerは、Unityでビジュアルスクリプトを行うことが出来るアセットのことです。
ストアではよく売れてる印象ですが、あまり使っている人に遭遇したことはないですね・・・

Unityアセット・アセットストア

Unityアセット・アセットストアとは、Unity用の便利ツールを購入することが出来るショップのことです。

アセットストアのリンクはこちら

ゲームを作るうえで、画像や3Dモデルなんかが必要になると思います。
そのようなアセットを自分で用意するのはとても大変で、時間がかかります。
そういうゲーム開発者向けに様々なものが準備されています。

サウンド関係や、Unityエディターの拡張要素なんかのアセットもあったり、見ているだけでも楽しいですよ。
自分は完成プロジェクトや、テンプレートのアセットが結構好きです。
というのも、ソースコード込みで販売されているので、上手いプログラムを眺めるだけで、かなり勉強になります。
ゲームの完成プロジェクトを買ったつもりが、中のエディター拡張機能が便利で、そっちの方がありがたかったこともあります。

なので、右も左も分からないときは、まず何か買ってみるのもおススメですよ。

ビジュアルスクリプト

そして、PlayMakerはUnityアセットに存在するエディター拡張の一つです。
何が出来るかというと、ビジュアルスクリプトを行うことが出来るようになります。
で、そのビジュアルスクリプトとはどういったものでしょうか?

簡単に説明すると、プログラムを図に落とし込んで作業することが出来るツールのことです。
ちょっと利用しているサンプル図をご覧ください

とあるキャラクターの状態遷移図

たとえば、ゲームのキャラクターの待機モーションから歩いたり走ったする遷移図だとこんな感じになります。
セットアップ後に、「待機モーション」状態に移動します。
その後は、移動というイベントが起こった場合に「歩く」の状態に移動します。

ここで、「歩く」の状態では、【もっと頑張る】と【疲れた】という2種類のイベント(遷移する条件)が存在します。
【もっと頑張る】場合は「走る」ことができ、【疲れた】場合は「待機モーション」に戻ります。

また、どの状態にいるかということと、別の状態に移動するには指定された条件のみでしか遷移しないようになっています。
逆に言うと、デバッグ中に「走る」状態にならない!というエラーが発生した場合、「歩く」状態中に【もっと頑張る】が起こらない、という条件だけを見つければ良いわけです。
これはフラットにプログラムを書いても、デバッグ方法は一見同じように感じるかも知れませんが、ソースコードのみで遷移処理をしている場合、他に呼ばれていないかなどの心配が少なからず発生します。
その点PlayMakerで作っている場合は、注目する状態をかなりしぼることが出来、デバッグ時間を大幅に短縮することが可能です。

実際にプログラムを作って、デバッグ地獄に陥った方なら、何が悪いのかを調べる工程がいかにしんどいか分かると思います。

さらにビジュアルスクリプトの良いところはデバッグに役立つだけではありません。
こういった作成した遷移図を、ゲームのディレクターさんなどと共有をすることで、
「やっぱ待機モーションから直接走れるようにして!」とお願いされた場合、

待機モーションから走れるようにしたバージョン

このように待機モーションに【直接走る】というイベントを追加して、「走る」に直行できるようにするだけで解決します。
コードだけでは伝わりづらいような仕様も、簡単に更新・変更が可能になる。それがビジュアルスクリプトの魅力なのです!

UnityとPlayMakerのセットアップをしてみたいけど、どんな流れでやればいいかが分からない場合はこちらの動画を参考にしてみてください

まとめ

今回は、UnityとPlayMakerをあわせてゲームを作る場合、どんなことが必要になるかの説明を致しました。次は、実際にPlayMakerのメリット・デメリットの説明をしたいと思います。

プレイメーカーを実際に使ってみた感想はこちら