このブログについて【方針、記事の見方】

ゲームを作る様子を紹介しつつ、
チュートリアル記事素材配布を行う(予定の)ブログです。

このページ(自己紹介と制作物一覧)を見ると、どんなものを作っている人かわかります。

「方針 ・ このブログの目的」「記事の見かた」については、続きから。

スポンサーサイト

立体スネークゲーム『>>>X』公開

立体スネークゲーム『>>>X』のandroid版をリリースしました。
ぶつかったらアウトの回避アクションです。

以前はFLYFISHというタイトルで作っていましたが、タイトル変更。
旧タイトル:『FLYFISH
新タイトル:『>>>X』


--ゲーム内容--

プレイヤーは自動で前に進んでいく。
動きたい方向に画面を指でなぞって、障害物をよけよう!

○メニュー画面
ss05-2.jpg

ここでゲームモードを選択。
モードは全部で三つ。


○Endless(エンドレス)モード
スコア(=生き残った時間)を競うモード。
ss01.png


○Ring(リング)モード
3つの輪っか(リング)をくぐればクリア。ステージ形式。

動きまわるパネルに囲まれた部屋や、
ss02.png

回転する丸太(?)のステージなど、妨害ギミック多数。
ss03.jpg


○VSCPUモード
コンピュータ(AI)とバトル
ss07.jpg
生き残った時間や、くぐったリングの数でスコアを争う。


画像だとイメージしづらいので動画↓



ストアのダウンロードページ↓
立体スネークゲーム『>>>X』


----------------------------

今後は、
・ブログでこのゲームの作り方についての解説を追加
・このゲームにも使ったテクスチャーと音声素材の配布サイトを開設
・新作のゲーム制作(詳細未定、作りたいもの多数)
などを予定してます。

ちなみに、「新作(1)」イメージ画↓
20170507-164418_連立02-6-1
画面手前にいる主人公が、廃墟を探索するゲームになる予定。
(大別すると脱出ゲーム的なシステムになりそう)

Tag:Unity FLYFISH

【playmaker】サウンドのオン/オフ

playmakerでの音実装について。
既にplaymakerの基本を知っている人向けの内容。

■実装したもの
・ボタンをタップして、サウンドのオン/オフ切替
・シーン遷移や、アプリを立ち上げなおしでも状態を保持

メニュー01
(右上のボタン)


■実装方法
playmakerで設定。
計5個の状態遷移で作成。

1、今オンかオフかの判定
音実装05
「se_onoff_01」というグローバル変数を作っておく。
最初にその変数をロードしてくる。
それが0ならオン、1ならオフの状態に遷移。


2、オンになったとき
音実装02
○アクション内容(上から順に)
・タップされた時、「tap」のイベントで「アニメーション」の状態に遷移
・2DTKでsprite画像を、白いbuttonに変更
・iTweenで、ボタンサイズをリセット(x1に戻す)
・音量を「1」に設定(音が出る状態)


3、オンの状態でタップされたとき
メニュー03
○アクション内容(上から順に)
・iTweenで一瞬縮小
・グローバル変数を「1」に設定
・グローバル変数を「playerprefs」にセーブ


4、オフになったとき
音実装03
○アクション内容(上から順に)
・2DTKでsprite画像を、黒いbuttonに変更
・タップされた時、「tap」のイベントで「アニメーション」の状態に遷移
・iTweenで、ボタンサイズをリセット(x1に戻す)
・音量を「0」に設定(音が出ない状態)


4、オフの状態でタップされたとき
音実装04
○アクション内容(上から順に)
・iTweenで一瞬縮小
・グローバル変数を「0」に設定
・音量を「1」に設定
・グローバル変数を「playerprefs」にセーブ


Tag:Unity Playmaker EasyTouch iTween FLYFISH サウンド

【効果音作成】リアリティと量産性重視

今回は短時間でオリジナルの音声素材を作る方法。

○手順
・リアルで音を鳴らす
・適当なレコーダー(今回はDR-07MKII)で録音
・Adobe Audition(音声加工ソフト)で加工
(1個あたり1分未満で作成)


○作成した音サンプル(脱出ゲーム向け)
効果音_引き出しを閉める
効果音_鍵をテーブルに置く音
効果音_スプレー
効果音_水(エフェクト)
環境音_雨音(短い)


作成までの流れ

■録音

・DR-07MKIIを起動
レコーダー01


・recordボタンを一回押して、レコードモード(?)に入る
レコーダー02


・イヤホンで音を確認しながら、左右のボタンで入力レベルを調整
レコーダー03

・もう一回recordボタンを押すと録音開始、終わったら停止ボタン


■加工

・レコーダー(DR-07MKII)をUSBでつないでファイルをPCにコピー

・Adobe Auditionでファイルを開く
AdobeAudition_01_読み込み
↑ドラッグアンドドロップ

AdobeAudition_01-2_読み込み02
↑表示された


・音量を調整
AdobeAudition_02_音量を調整01
↑エフェクト、振れ幅と圧縮、振れ幅

AdobeAudition_03_音量を調整02
↑数値を調整、音を大きくした
(そのままだと音が小さかった)

・不要な部分をカット
いらないところを削除_01
↑選択してdeleteキーを押すだけ


・ノイズが気になったら、ノイズリダクションを使う
AdobeAudition_06_ノイズリダクション01
↑エフェクト、ノイズリダクション/リストア、ノイズリダクション(プロセス)

AdobeAudition_07_ノイズリダクション02
↑ノイズプリントをキャプチャ

AdobeAudition_08_ノイズリダクション03
↑適当にパラメータをいじる


・派手にしたいときはエフェクトをかける
AdobeAudition_09_エフェクト02
↑例として エフェクト、リバーブ、コンボリューションリバーブ

AdobeAudition_09_エフェクト01
↑リバーブがかかるとホラーっぽい感じになる
 ピッチ調整で低い音にするとさらにホラーに

以上。


デメリット

・普通に金が掛かる。コストパフォーマンス度外視
フリーのソフトや音声素材も、探せばいくらでも見つかる。

・外でレコーダーを使っていると不審者扱いされる可能性がある
スタンガンのようなものを持った男がうろついている事案。
(「スタンガンじゃなくてレコーダーです」と弁明しても尚更怪しまれそう)


メリット

・自分がイメージした通りの効果音を短時間で量産できる
リアルで出せる音なら何でも作れるメリットは大きい。
(フリーのソフトや素材ではイメージに合わないことも多かった)

・音の鳴らし方や加工の仕方を工夫すれば、オリジナリティのある素材が作れる
身近に面白い音が鳴るものがないか探し回る癖がついた。

・風や雨の音など、長めの環境音にも使える
うまく調整すればループする環境音も簡単に作成できる。

・利用規約などを気にしなくていい
オリジナル素材は気楽。


その他

作成した効果音はフリー素材として配布予定。
(配布サイト作成中)

Tag:ゲームの作り方 Audition サウンド

【Unity】スクリプトを1行たりとも書かずにUIを実装してみた


※注意
アホな方法で実装しているので、
かしこいヒトはマネしないでください。


実装したもの




○実装項目一覧
・指でドラッグして動かす
・指を離すと、元の位置に戻ってくる
・指を離した時点で、一定以上動いてたらモードを切替
・下にあるボタンを押しても、同じようにモード切替
・ボタンを押さずにモードを切り替えても、ボタンも切替
・モードと同時に、背景の色も切替
・さらに、同時に拡縮しながらモード名の切替

地味に細かい処理を入れてますが、
全て「playmaker」と、その他のアセットだけで実装してます。
(スクリプトは一行たりとも書いてない)



実装方法解説

○使用アセット
・playmaker
・iTween
・Easy Touch 4 : Touchscreen & Virtual Controls

--

今回はざっくり説明。
(既にplaymakerを使っている人向けの説明)


○方法
メニューにあたり判定を付けて、左右に配置したセンサーが接触を検知したら、
一定以上動かしたと判断して、モードを切り替える。

オブジェクトの構成イメージ↓
メニューの実装方法01

手前のボードがメニュー。マウス(指)と連動して動く。
その後ろの立方体がメニューと連動した「あたり判定」。
黄色いのが、一定以上動かしたかどうかの判定用センサー。

--------------------------
■操作の流れと各種設定

1、ボードをスワイプしたら、指の動きについてくる
ボードには、EasytouchのQuickDragを設定。
(それを設定すると、スワイプ時に指の動きについてくるようになる)


2、指を離した時点でセンサー(黄色)に当たってたら、
  モードが変わったことを他のオブジェクトに知らせる(イベントを送る)

 ↓playmaker、メニューに追従している「あたり判定」に付けた設定
playmaker001_指を離した01-j03-2

 ↓遷移

playmaker002_指を離した02-j01-2
(指を離した時に、中央にいるか、右か左のどちらかのセンサーに触れているかで挙動を振り分ける)

 ↓遷移

playmaker003_指を離した03_01_2
(左のセンサーに触れていたとき、そのことを別のオブジェクトにイベントを送って知らせる)


3、他の各オブジェクトも、イベントが来たら、それぞれの挙動を開始する
 例)
・ボタンは、イベントが来たら拡縮しながら色が変わるように設定
・メニューのボードは、「I Tween Move To」で特定の位置にピッタリ移動するように設定
(現在位置から、XX秒かけて、目的地に移動する、というアニメーション)
 …その他色々 (「○実装項目一覧」に箇条書きしたもの全部)

他の動作もすべてplaymakerで設定。
全て「イベントを受け取った時」に「イベント内容に応じた動き」をする。


4、ボタンを押しても、同じようにイベントを送る
その際の挙動は、スワイプ操作で指を離した時と同じ。
「ボタンをタップしたとき」という条件を追加して、
スワイプのときと同じ種類のイベントを送るように設定すればOK。


できあがり?
本当は、その他不具合が発生しないための調整もあり、もっと複雑になっています。
しかし、話が長くなりそうなうえに、大体今回説明した内容の応用だけなので省略。
全部、イベントを送る(Send Eventのアクション)の機能だけで対処できました。



結論まとめ

スクリプトでやった方が早い。

でも、実は最初はスクリプトでやってました。
↓参考URL
http://qiita.com/okuhiiro/items/0b356b18764faa734f1a
(主に、こちら記事を参考にさせていただきながら試作)

しかし、結局は自分の知識では対応できない部分が出てきて
(今どのモードなのかの判定、ボタンとの連動、特殊なアニメーションを挟んだり、その他色々)
スクリプトについてアレコレ下調べするより手っ取り早いのでplaymakerで実装。

あと、playmakerの特徴として、
リアルタイムに状態遷移を確認できるので、デバッグがすごく楽。
どこの処理で止まっているのか一目瞭然。



最後に一言コメント

実際の操作の感触については、
動画で見ても伝わらないと思いますので
android版の体験版もアップしています。

UIについては、ゲーム本編とはあまり関係ない部分ですが、
こういうのも気持ち良い操作になるようにこだわってます。


Tag:Unity FLYFISH Playmaker EasyTouch iTween