1日で作るカジュアルゲーム、flappyxxxxを作ろう

40
1日で作るカジュアルゲーム FlappyXXXXを作ろう!

Upload: poto7

Post on 22-Jun-2015

780 views

Category:

Technology


1 download

DESCRIPTION

Unity アセット真夏のアドベントカレンダー 2014 Summer! Unityを用いて、1日でカジュアルゲームを作った解説を行っています。

TRANSCRIPT

Page 1: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

1日で作るカジュアルゲーム FlappyXXXXを作ろう!

Page 2: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

About me

Poto7 普段は、UnityやNode.jsをいじってる 千葉とか東京とか関東圏にいることが多い Twitter:@potoru7 (開発者用に鍵無しアカウントを作ったがつぶやいていない。 そろそろ動き出すと思う)

Page 3: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

お題

アセットネタを書こう

Page 4: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

Unity AssetStore を使えば1日で 簡単にカジュアルゲームが作れるよ

Page 5: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

Unity AssetStore を使えば1日で 簡単にカジュアルゲームが作れるよ

ということがやりたかった

Page 6: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

カジュアルゲームならFlappyが なうでやんぐでいーじーだ

(なうと言うには少し古いけど)

Page 7: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

動かすキャラはみんな大好きユニティちゃん!

Page 8: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

ということで作った

Page 9: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

しかし、「Unityのアセットを使うとプログラミング未経験の女子高生・女子大生が新しい世界をカンタンに手に入れられちゃう」という点では、Colliderの大きさを変化させるあたりが少し難しい(説明が面倒)

あと、若干他の人とネタかぶりした・・・。

Page 10: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

ということで作り直した

Page 11: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

2DならColliderはBoxCollider2D固定でいいから簡単(説明不要)

Page 12: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

ということで、 FlappyUnityChan2D を作っていきます。

Page 13: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

まずは、http://unity-chan.com/ でUnityChan2Dを取得

Page 14: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

さっそくインポート

プロジェクトの作り方とかは他を参考にしてね

Page 15: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

Assets/UnityChan2D/Prefabsに ユニティちゃんのPrefabが入ってるので

HierarchyにD&D!!

ProjectとかHierarchyとかの説明は他で見てね

Page 16: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

Unityちゃんに最初から入っているScriptはいらないので 外してしまいましょう。

ProjectとかHierarchyとかの説明は他で見てね

Page 17: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

アニメーションもFlappy用に作るので、 Projectで以下の様に新規でAnimator Controllerを作成

Page 18: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

Animatorに以下ををD&D• Footwork • Jump_top • Move • Damage

Window>AnimatorでAnimatorを開き

AnimatorのFootworkは右クリックで 「Set As Default」を指定

Page 19: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

右クリックでMakeTransitionを設定して 以下の様に矢印を引いていく

矢印をクリックするとどのような条件で アニメーションが遷移するかを設定できる

Parametersを2つ追加 Jump -> Float GameState -> Int

Page 20: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

条件はこんな感じになる

GameStateが0なら

GameStateが0なら GameStateが0なら

GameStateが2なら

GameStateが2なら

Page 21: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

条件はこんな感じになる

GameStateが1なら

Jumpが0を下回るなら

Jumpが0を上回るなら

Page 22: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

作ったAnimator Controllerを適用

HierarchyのUnityChan2Dを選択して InspectorのAnimatorのControllerの 一番右の○を押して左のポップアップを出す さっき作ったAnimator Controllerを選択

Page 23: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

障害物を配置Assets/UnityChan2D/Demo/PrefabsにUniという

ちょうどいいものがあるので、これをHierarchyに移動

Page 24: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

初期状態だとUniのBoxCollider2Dの IsTriggerにチェックが入っているのでチェックを外す

これにチェックが入っていると当たり判定が取れない

Page 25: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

障害物の間を抜けたことを 判定するオブジェクトも作成

キューブを作成 当たり判定だけ取りたいので、 見えないようにMesh Rendererの チェックは外しておきます 最初はBox Colliderが付いているので、 それは外して 新しくBox Collider 2Dをつけます

Page 26: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

障害物を一つのグループにする

EmptyGameObjectを作成する そこに先ほど作った キューブオブジェクトと Uniを入れる Uniはコピー&ペーストで とにかくいっぱい作る 自分は22個作りました笑

Page 27: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

Inspectorをいじってこんな感じで配置します中央に空いてる部分はCheckPoint

CheckPointにぶつかることでスコアを加算するので 空けた分のスペースにぴったり合うサイズに変更

Page 28: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

これを何個も配置していくとこんな感じになる!

Page 29: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

ただしUniUniはPrefabとして扱うので 1つだけResources/Prefabsに入れて

Hierarchyからは消します

Resources、Prefabsの ディレクトリは自分で作ってね

Page 30: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

「Unityのアセットを使うとプログラミング 未経験の女子高生・女子大生」

にとっては、ここからが正念場

スクリプトを書かなくてはいけません

Page 31: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

作るスクリプトはこの3つだけ

適応はこんな感じにCameraScript -> Main Camera(Hierarchy) UnityChan -> UnityChan2D(Hierarchy) UniUni -> UniUni(Resources/Prefabs)

それぞれを選択した状態で Inspector>Add Component>New Script とやるとPrefab化した状態でも

簡単に適応出来ます

Page 32: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

スクリプトの中身ですが・・・。

Page 33: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

もちろん、簡単に簡単にと意識して書きました eventやLINQも使わずに単純に単純にと意識して・・・

「Unityのアセットを使うとプログラミング 未経験の女子高生・女子大生」

Page 34: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

次のスライドにソースが載っているリンクを 貼っておいたので参考にしてください。

決して説明が面倒になったわけではないです・・・・しつこいくらいにコメントアウトを入れておきました

Page 35: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

CameraScript.cs -> http://poto7.com/AssetEvent/CameraScript.cs UnityChan.cs -> http://poto7.com/AssetEvent/UnityChan.cs UniUni.cs -> http://poto7.com/AssetEvent/UniUni.cs 一括ダウンロード -> http://poto7.com/AssetEvent/Scripts.zip

決して説明が面倒になったわけではないです・・・・しつこいくらいにコメントアウトを入れておきました

Page 36: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

伝わったか不安なので・・・

動画を撮りました! 「【Unity】30分ちょっとで作るカジュアルゲームFlappyUnityChan! 」

今回のFlappyUnityChanをプロジェクト作成から 完成までノーカットで動画を撮りました。

https://www.youtube.com/watch?v=PIQ_Z9USoIY

Page 37: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

今回、解説したFlappyUnityChanをWebPlayerでBuildして アップロードしておきました

以下のリンクに飛ぶと、完成品がどうなるかを 遊んでみることができます

http://poto7.com/AssetEvent/FlappyUnityChan.html

Page 38: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

反省

・スクリプトを単純にするために2Dにしたのに 結局説明がめんど・・・説明する時間がなくなって スクリプトの説明スライドがない !

・このKeynoteを作ってて気づいたが、2Dに変更して 以降はAssetStoreを利用していない (UnityChan2Dはホームページから) !

AssetStoreを利用してない・・・・

Page 39: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

3DのFlappyUnityChanの作成から始まり、 2Dを作り、Keynoteを書きと楽しかったので、 ぜひまた書かせて頂きたいと思います

明日は、mohammedariさんの 「VRで女の子に歯磨きするまでにやったこと」

です。面白そうな内容ですね!

Page 40: 1日で作るカジュアルゲーム、FlappyXXXXを作ろう

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