115
学生がUnityで 2Dゲームを作るとこうなる 日本工学院専門学校 工業専門課程クリエイティブラボ科3年 高橋 良哉

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

Embed Size (px)

DESCRIPTION

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

Citation preview

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

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

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

高橋 良哉

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

自己紹介

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

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

アジェンダ

はじめに

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

使用したプラグイン

タスク管理について

バージョン管理について

まとめ

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

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

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

はじめに

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

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

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

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

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

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

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

Unityといえば3D。

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

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

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

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

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

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

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

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

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

この安易な判断が

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

地獄の始まりでした。

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

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

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

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

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

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

要約すると !

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

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

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

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

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

そうだ、AssetStoreを使おう。

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

地獄① Asset多すぎ地獄

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

みんな大好きAssetStore

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

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

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

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

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

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

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

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

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

だがしかし!

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

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

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

Uni2D $45(当時)

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

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

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

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

操作は至って簡単!

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

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

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

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

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

どーん!

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

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

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

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

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

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

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

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

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

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

NextGen UI(通称NGUI) $95

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

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

見ながら作成。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ステージアンロック。

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

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

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

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

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

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

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

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

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

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

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

しないといけないの!?

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

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

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

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

それがあった。

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

SmoothMoves $95

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

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

の機能でTextureAtlasを作る。

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

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

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

こいつ・・・動くぞ!

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

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

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

④Unity触ったこと無い

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

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

したことがない。

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

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

さて、どうしよう…

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

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

思い出す。

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

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

できるかも!

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

PlayMaker $90

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

最近なにかと話題なPlayMaker。

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

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

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

ギミックで Trigger判定させて

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

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

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

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

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

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

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

噂によると、 最近NGUIとも

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

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

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

PlayMakerの 強いところですね。

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

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

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

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

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

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

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

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

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

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

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

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

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

タスク管理どうしよう…

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

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

めんどくさいだろうし…

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

そこで使用したのが!

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

ポストイット!

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

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

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

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

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

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

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

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

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

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

Lは最優先。

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

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

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

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

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

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

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

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

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

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

一目瞭然!

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

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

ありがとう渋谷Unity。

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

地獄③ バージョン管理

めんどくさすぎ地獄

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

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

一番メジャーですよね。

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

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

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

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

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

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

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

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

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

ダメ元でトライ!

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

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

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

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

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

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

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

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

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

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

繋がらない。

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

どうあがいても絶望。

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

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

だったらしい。

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

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

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

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

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

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

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

結果:USB is ジャスティス

※学生に限る(?)

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

まとめ

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

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

!

ありがとうUnity

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

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

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

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

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

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

!

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

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

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

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

質疑応答などあれば…

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