(1)スマホアプリ「あ〜ちゃ〜の大冒険」(2014年12月下旬リリース予定)は、実験的にPlayMakerというコーディング無しで処理を記述できるアセットを全面的に利用して作りました。そこで実際にPlayMakerを使ってどのように処理を記述しているかを公開します。PlayMaker自体の詳細に関しては、公式の紹介動画・チュートリアル動画で概要は掴んで頂けると思います。少ないながらも日本語で解説されているサイトもありますのでそちらを参照して下さい。PlayMaker・公式サイト・アセットストア初回は、小手調べということでアプリのタイトル画面の初期化を管理しているFSM(PlayMakerの処理内容を記述したもの)をご紹介します。TitleControllerここでは広告の初期化、またアプリ内で唯一となる音源を管理するゲームオブジェクトAudioManagerを作成しBGMを再生します。Initシーンが読込まれPlayMakerFSMが動き出した時に初めに到達する状態(ステート)です。Banner(カスタム)自分で作成したカスタムアクションでiOS/Androidそれぞれのネイティブプラグインを呼び出し、広告バナーの初期化・表示を行います。カスタムアクションに関しては下記を参考にして下さい。Object(GameObjectカテゴリ)←括弧内はPlayMakerで用意されたアクションのカテゴリを示します。「AudioManager」というタグが付けられたGameObjectを取得し、変数audioManagerにセットします。存在しなければnullになります。Null(Logic)audioManagerがnullかどうかを調べます。nullの場合は「NO_AUDIO_MANAGER」というイベントを発生し遷移、nullでない場合は通常終了し「FINISHED」イベントによる遷移を行います。CreateAudioManagerInitでAudioManagerが存在しなかった場合に到達するステートです。このステートでは特に遷移イベントを指定していませんが、その場合は全てのアクション実行後に自動的にFINISHEDイベントによる遷移が行われます。Object(GameObject)インスペクタで指定してあるAudioManagerのプレファブからインスタンスを作成し、変数audioManagerにセットします。Load(Level)audioManagerがシーンロード時に破棄されないように設定します。PlayTitleBGMタイトル画面のBGMを再生します。(ステート)が3つ、それぞれのアクションも少ないですが、PlayMakerによる実装の感じは掴んで頂けたと思います。状態遷移というよりは処理の固まりを遷移していくようなイメージになっているのは私のクセという部分もあります。変数がFSM単位で用意され、スクリプトでいうところのメソッドのローカル変数のようなものが存在しないのが特徴と言えます。条件分岐の場合には必ず状態遷移を引き起こすというのもクセのあるところです。今回、これだけ少ないアクションの中で2ヶ所もカスタムアクションが登場しましたが、少し込み入ったことをしようと思うとカスタムアクションを作成した方が楽です。PlayMaker標準でMonoBehaviourのメソッドを呼び出すアクションが存在しますが、上手く利用出来ませんでした。次回はタイトル画面でスタートボタンを押した時のFSMを紹介する予定です。キャンセル投稿を送信できませんでした。メールアドレスを確認してください。メール送信チェックに失敗しました。このブログではメールでの投稿共有はできません。