学生がUnityで2 dゲームを作るとこうなる

Post on 28-May-2015

16.057 views 0 download

description

「【増員!130名】【#TechBuzz】第16回 Unity 勉強会 Unityでつくるデジタルサイネージ / 学生がUnityで2Dゲームを作るとこうなる / IGDA Japan 福島GameJam2013開催報告と3年目の福島」にて発表した資料です。

Transcript of 学生がUnityで2 dゲームを作るとこうなる

学生がUnityで 2Dゲームを作るとこうなる

日本工学院専門学校 工業専門課程クリエイティブラボ科3年

高橋 良哉

自己紹介

高橋良哉 @shimuraya !日本工学院専門学校蒲田校にてゲームプログラミングを学びながら、独学でUnityを勉強する。 Unity歴は2年ぐらい。 尊敬する人は須田剛一さんと遠藤ミチロウさnと 石野卓球さん。 !Unityの勉強会は第5回目 から参加してます。

アジェンダ

はじめに

2Dゲームを作るきっかけ

使用したプラグイン

タスク管理について

バージョン管理について

まとめ

今回の発表内容は、 去年制作した2Dゲームの制作事例です。 そのため、現在のUnityやAssetの仕様とは

大きく異なる場合があります。 ご了承ください。

はじめに

どうしてUnityで2Dゲームを?

去年の5月頃 プランナーが言いました。

Unityで2Dゲーム作らない?

Unityといえば3D。

Unityで作られた2Dゲームについて調べてみると…

どうやらLIMBOが Unity製らしい。

まぁできないことはないか…

じゃあUnityで 2Dやってみようか!

この安易な判断が

地獄の始まりでした。

6月、プランナーから 企画があがってくる。

せっかくLIMBOっていう元のゲームがあって、そっから考えるんだったらやっぱり白黒のゲームのほうがいいかなあと思って白黒のゲーム考えたんだけど、白黒だとアニメーション重視しないと見た目的にも悪くなるし、やっぱりアニメーションはスムーズに動かしたいよね。2Dでもパーティクル入れられたりする?入れられたら入れたら綺麗だよね。あと、UnityだったらGUIまわりきれいにできるんでしょ?それもやりたいよね。当然できるよね。あとUnityできるのチームに君しかいないよ。それでも大丈夫?ねえどんな気持ち?今ど

んな気持ち?ねえ?話し聞いてる?

要約すると !

「大前提として2Dのゲーム。」 「GUIまわりきれいにしたいね!」

「アニメーションスムーズに動かしたいね!」 「みんなUnityやったことないけど大丈夫?」

課題がいっぱい。 どうしよう。

そうだ、AssetStoreを使おう。

地獄① Asset多すぎ地獄

みんな大好きAssetStore

星の数ほどあるAssetからどれを選べばいいのか…

今回は、今まで勉強会で 教えてもらったAssetを 使うことにしました。

①2Dゲームを作るには?

Unityで2Dといえば、 2D ToolKitがベター

だがしかし!

今回は個人的に 使ってみたいものがあったので 別のものを導入してみました。

Uni2D $45(当時)

現在はUni2D v2の リリースに伴い、

値段が$90になっています。

操作は至って簡単!

PhotoShopなどで 作ったリソースデータを

Uni2DのSpriteEditorで オブジェクト化すると

どーん!

Uni2Dさんが アルファ付きの2Dリソースに

勝手に当たり判定を つけてくれちゃう。

ステージの作成は これ1つあれば十分でした!

②タイトルきれいにしたい。

GUIまわりといったら もうあれしかない!

NextGen UI(通称NGUI) $95

Youtubeにあがっている チュートリアル動画と、 NGUIの海外フォーラムを

見ながら作成。

プランナー曰く メインメニューには ステージ選択画面と オプション画面と

ステージアンロック画面と ゲーム終了画面を表示させる。

ステージは、クリアしたら次をアンロックする形にする。

適当な黒い画像をボタンの上にスプライト描画して、ステージクリア後にDestroyで被せたやつを消せばそれっぽく見えた。

オプションは 音量調節のスライダーのみ

UISoundVolumeで音量を調節して、 UISavedOptionを使って

スライダーの値を保存する。 なにも難しいことはなかった。

ステージクリア後に表示されるパスワードを入力するとそこから始められる仕様のあれ

入力されたパスワードを UIInput.current.text で照らし合わせる。

合ってたらステージセレクトの ボタンに被せてるものをDestroyして

ステージアンロック。

ゲーム終了は単純にApplication.Quitで。

GUIとかその辺は これでOK!

③アニメーションを スムーズに動かす

学生といえばネイティブの開発。 ネイティブ開発でアニメーションと言えば

マップチップでのアニメーション。

Unityなのにそんな めんどくさいこと

しないといけないの!?

ふと、第5回渋谷Unity技術勉強会で 伊藤周さんが2Dリソースから

ボーンアニメーションを作ってたことを思い出す。

それがあった。

SmoothMoves $95

PhotoShopでアニメーションさせたい画像を ボーンごとにバラバラにして、SmoothMoves

の機能でTextureAtlasを作る。

SmoothMovesのエディタ内でボーンのPivotと親子関係を決めて、動かしてみると…

こいつ・・・動くぞ!

Playerのアニメーションはこれで完璧!

④Unity触ったこと無い

チームのメンバーは、 Unityでの開発をまったく

したことがない。

開発期間は半年… 一から勉強してる時間ない…

さて、どうしよう…

またまた第5回渋谷Unity技術勉強会で伊藤周さんがノンプログラミングでゲームっぽいもの作ってたことを

思い出す。

あれならUnityを やったことなくても

できるかも!

PlayMaker $90

最近なにかと話題なPlayMaker。

PlayMakerEditorを開いて、 そこに遷移を書いていくだけ!

ギミックで Trigger判定させて

起動させるときなどの 簡単な動きに使用。

難しい挙動などには適してないため、キャラクターの移動はCharacterControllerで制御。

SmoothMovesとの連携ができたので、ギミックのアニメーションは

全てSmoothMovesで作ってPlayMaker で制御しました。

噂によると、 最近NGUIとも

連携できるように なったらしいです。

いろいろなAssetと 連携できるところも、

PlayMakerの 強いところですね。

ひとまずこれで2Dゲームをつくる準備は整った…

チームも組めたし 早速作り始めよう!

地獄② やること多すぎ地獄

これからチームメンバーに 仕事を振っていくわけだが…

①リソースの作成 ②アニメーションの作成 ③ステージの作成 ④タイトルなどのGUIの作成 ⑤敵キャラクターの導入 ⑥ギミックの作成 ⑦BGMやSEの作成、導入

おおまかにまとめるとだいたいこんな感じ

タスク管理どうしよう…

Excelでまとめてもいいけど、みんな見るの

めんどくさいだろうし…

そこで使用したのが!

ポストイット!

まずはやること全てを ポストイットに書いて

ホワイトボードに貼っていく。

そして書いたポストイットを 優先順に並べていく。

Sはとりあえず 後回しでも大丈夫なやつ

Mはそこそこ 優先的なやつ

Lは最優先。

その作業が完了したら ポストイットを

レビューの欄に貼っていく

レビューは全て チームリーダー(自分)が

独断で行う! 有無は言わせん!

レビューで通ったら右のDoneの欄へ貼っていく!

できた作業と できてない作業が

一目瞭然!

ちなみに… これもいつぞやの勉強会で 教えてもらったやり方です。

ありがとう渋谷Unity。

地獄③ バージョン管理

めんどくさすぎ地獄

Unityといえば、 AssetServerでの バージョン管理が

一番メジャーですよね。

実際にFGJでAssetServerを 使ってみて、めちゃくちゃ 便利だったのを覚えてます。

ただAssetServerを使うには、チームライセンスが必要。

この制作のためだけに 全員チームライセンスを 買うのはもったいない…。

調べてみるとUnityの3.5から Git等でもバージョン管理が できるようになったらしい。

ダメ元でトライ!

Gitの設定は 「サルでもわかるGit入門」様 を参考にしながら設定しました。

参考サイトを見ながら設定したら、とりあえず指定したフォルダに

コミットができるようになった!

やった! これでバージョン管理できる!

一緒にGitのテストをしてた メンバーとコミットしてみる。

繋がらない。

どうあがいても絶望。

どうやら学校のサーバーが外部のネットワークを遮断しているみたいで、勝手にそんなことさせねーよ!?っていう状態

だったらしい。

Gitというか、もはやバージョン管理ソフトが全て使えない。

どこかからサーバを借りればよかったのだが、そんなお金はなかったので、自分たちで作ってしまおうという話になる。

が、散々苦戦したあげく断念。

結果:USB is ジャスティス

※学生に限る(?)

まとめ

さすがUnity 2D相手でも超強い。

!

ありがとうUnity

パーティクルなどと 組み合わせると、

よりアーティスティックに 仕上げられるので、 学生でもそれなりに

クオリティの高いゲームが 作れちゃう!

作れないと思ったものは 買っちゃう。

!

NGUIがなかったら GUIまわりは絶対に 完成しなかった。

ご清聴ありがとうございました。

質疑応答などあれば…

※懇親会にも参加します。