はじめに
こんにちは。3回生の@ogamita777、通称おがみたです。
先日、「マスコットアプリ文化祭2014に作品を出しましょう!!!参加賞豪華ですよ!!!」と熱烈に宣伝していた某後輩氏に感銘を受け、マスコット神経衰弱というUnityで制作したCPUと対戦するマスコットのカードを使ったシンプルな神経衰弱のゲームを応募しました。
RCC勢の作品はグループ名「おでん」で投稿していくとのことなので、是非ご期待下さい。
現在(注:執筆時の11月28日)、僕のを含めて2つの作品が投稿されています。
今回はそのゲームを制作する際に利用したUnityの機能・アセットについて書いていきます。
これからUnityで開発する人の参考になれば幸いです。
iTween
iTween by Pixelplacement — Unity Asset Store
トゥイーンライブラリです。
次のようなコードにより、特定のxy座標に移動時間と移動開始までの時間を指定してカードを移動させるアニメーションを実装することができました。
Hashtable table = new Hashtable (); table.Add ("x", -5.5F + OffsetX + ((i % 3) * 4)); table.Add ("y", 16 + OffsetY - ((i / 3) * 5.5F)); table.Add ("time", 0.5F); table.Add ("delay", i * (distributeTime / Constant.CardMax)); iTween.MoveTo (gameObject, table);
簡単にアニメーションを付けることができるので非常に便利です。
NGUI 2.7.0
NGUI: Next-Gen UI kit Tasharen Entertainment
UnityのGUI機能でおそらく最も良く使われているであろうNGUIの無料版です。
標準のGUIが扱い難いので利用しました。
また、つい最近Unity4.6がリリースされて、待望のuGUIが搭載されました。
NGUI 2.7.0 とuGUIのどちらを使うのが良いのか、気になるところです。比較資料が欲しいですね。
Mecanim
UnityではMecanimを使うことにより、アニメーションの状態遷移を設定する部分を完全にスクリプトから切り離すことが可能です。
例として、カードのアニメーションの状態遷移は次の画像のようになっています。
- normal:伏せられているカードのアニメーション
- turn:めくられている最中のアニメーション
- view:めくられた後のアニメーション
また、TurnというBoolのパラメータが存在し、これをスクリプトから次のようなコードで情報を入力することによって状態が遷移します。
animator.SetBool ("Turn", false);
アニメーションの状態遷移を分離して記述できるので非常に良いです。
さいごに
手軽にゲームを作る分にはUnityは非常に楽なのでオススメです。
Unity4.6がリリースされ、便利な新機能も沢山増えたので、ゲーム制作をやりたいなあという方は無料ですし試しに使ってみると良いと思います。
あと、グループ「おでん」の作品を鑑賞したり遊んで下さると嬉しいです。
次の記事はhagi-penさんです。