1日で作るカジュアルゲーム、flappyxxxxを作ろう
DESCRIPTION
Unity アセット真夏のアドベントカレンダー 2014 Summer! Unityを用いて、1日でカジュアルゲームを作った解説を行っています。TRANSCRIPT
1日で作るカジュアルゲーム FlappyXXXXを作ろう!
About me
Poto7 普段は、UnityやNode.jsをいじってる 千葉とか東京とか関東圏にいることが多い Twitter:@potoru7 (開発者用に鍵無しアカウントを作ったがつぶやいていない。 そろそろ動き出すと思う)
お題
アセットネタを書こう
Unity AssetStore を使えば1日で 簡単にカジュアルゲームが作れるよ
Unity AssetStore を使えば1日で 簡単にカジュアルゲームが作れるよ
ということがやりたかった
カジュアルゲームならFlappyが なうでやんぐでいーじーだ
(なうと言うには少し古いけど)
動かすキャラはみんな大好きユニティちゃん!
ということで作った
しかし、「Unityのアセットを使うとプログラミング未経験の女子高生・女子大生が新しい世界をカンタンに手に入れられちゃう」という点では、Colliderの大きさを変化させるあたりが少し難しい(説明が面倒)
あと、若干他の人とネタかぶりした・・・。
ということで作り直した
2DならColliderはBoxCollider2D固定でいいから簡単(説明不要)
ということで、 FlappyUnityChan2D を作っていきます。
まずは、http://unity-chan.com/ でUnityChan2Dを取得
さっそくインポート
プロジェクトの作り方とかは他を参考にしてね
Assets/UnityChan2D/Prefabsに ユニティちゃんのPrefabが入ってるので
HierarchyにD&D!!
ProjectとかHierarchyとかの説明は他で見てね
Unityちゃんに最初から入っているScriptはいらないので 外してしまいましょう。
ProjectとかHierarchyとかの説明は他で見てね
アニメーションもFlappy用に作るので、 Projectで以下の様に新規でAnimator Controllerを作成
Animatorに以下ををD&D• Footwork • Jump_top • Move • Damage
Window>AnimatorでAnimatorを開き
AnimatorのFootworkは右クリックで 「Set As Default」を指定
右クリックでMakeTransitionを設定して 以下の様に矢印を引いていく
矢印をクリックするとどのような条件で アニメーションが遷移するかを設定できる
Parametersを2つ追加 Jump -> Float GameState -> Int
条件はこんな感じになる
GameStateが0なら
GameStateが0なら GameStateが0なら
GameStateが2なら
GameStateが2なら
条件はこんな感じになる
GameStateが1なら
Jumpが0を下回るなら
Jumpが0を上回るなら
作ったAnimator Controllerを適用
HierarchyのUnityChan2Dを選択して InspectorのAnimatorのControllerの 一番右の○を押して左のポップアップを出す さっき作ったAnimator Controllerを選択
障害物を配置Assets/UnityChan2D/Demo/PrefabsにUniという
ちょうどいいものがあるので、これをHierarchyに移動
初期状態だとUniのBoxCollider2Dの IsTriggerにチェックが入っているのでチェックを外す
これにチェックが入っていると当たり判定が取れない
障害物の間を抜けたことを 判定するオブジェクトも作成
キューブを作成 当たり判定だけ取りたいので、 見えないようにMesh Rendererの チェックは外しておきます 最初はBox Colliderが付いているので、 それは外して 新しくBox Collider 2Dをつけます
障害物を一つのグループにする
EmptyGameObjectを作成する そこに先ほど作った キューブオブジェクトと Uniを入れる Uniはコピー&ペーストで とにかくいっぱい作る 自分は22個作りました笑
Inspectorをいじってこんな感じで配置します中央に空いてる部分はCheckPoint
CheckPointにぶつかることでスコアを加算するので 空けた分のスペースにぴったり合うサイズに変更
これを何個も配置していくとこんな感じになる!
ただしUniUniはPrefabとして扱うので 1つだけResources/Prefabsに入れて
Hierarchyからは消します
Resources、Prefabsの ディレクトリは自分で作ってね
「Unityのアセットを使うとプログラミング 未経験の女子高生・女子大生」
にとっては、ここからが正念場
スクリプトを書かなくてはいけません
作るスクリプトはこの3つだけ
適応はこんな感じにCameraScript -> Main Camera(Hierarchy) UnityChan -> UnityChan2D(Hierarchy) UniUni -> UniUni(Resources/Prefabs)
それぞれを選択した状態で Inspector>Add Component>New Script とやるとPrefab化した状態でも
簡単に適応出来ます
スクリプトの中身ですが・・・。
もちろん、簡単に簡単にと意識して書きました eventやLINQも使わずに単純に単純にと意識して・・・
「Unityのアセットを使うとプログラミング 未経験の女子高生・女子大生」
次のスライドにソースが載っているリンクを 貼っておいたので参考にしてください。
決して説明が面倒になったわけではないです・・・・しつこいくらいにコメントアウトを入れておきました
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
決して説明が面倒になったわけではないです・・・・しつこいくらいにコメントアウトを入れておきました
伝わったか不安なので・・・
動画を撮りました! 「【Unity】30分ちょっとで作るカジュアルゲームFlappyUnityChan! 」
今回のFlappyUnityChanをプロジェクト作成から 完成までノーカットで動画を撮りました。
https://www.youtube.com/watch?v=PIQ_Z9USoIY
今回、解説したFlappyUnityChanをWebPlayerでBuildして アップロードしておきました
以下のリンクに飛ぶと、完成品がどうなるかを 遊んでみることができます
http://poto7.com/AssetEvent/FlappyUnityChan.html
反省
・スクリプトを単純にするために2Dにしたのに 結局説明がめんど・・・説明する時間がなくなって スクリプトの説明スライドがない !
・このKeynoteを作ってて気づいたが、2Dに変更して 以降はAssetStoreを利用していない (UnityChan2Dはホームページから) !
AssetStoreを利用してない・・・・
3DのFlappyUnityChanの作成から始まり、 2Dを作り、Keynoteを書きと楽しかったので、 ぜひまた書かせて頂きたいと思います
明日は、mohammedariさんの 「VRで女の子に歯磨きするまでにやったこと」
です。面白そうな内容ですね!
ご清聴、ありがとうございました。