森クマblog

SleepingMuseum 森のゲーム開発室

Unity2Dでフィギュアスケート男子シングル開始のカウントダウンをしながら氷の上を滑って冷凍サーモンを食べまくるゲームを作ったクマ

ここは森のゲーム開発室・・・クマたちは少女が構想する新作ゲームの開発に明け暮れていた・・・

 

f:id:shakeflower93:20180105095213j:plain

(メンバーの風当たりは強い。)
 

森クマ『辛い・・・心が、心が張り裂けそうクマ。こんなときは1日程度で作れるミニゲームを作って公開するクマよ』

shakeflower.hatenablog.com

(前にCocosCreatorで作ったミニゲームをちょこちょこ改造すれば、あっという間クマよ)

 

『せっかくオリンピックに便乗してスケートとスキーをするマグカップを作ったから、スケートのゲームを作ろうクマ』

(乗れるものはなんでも乗る、それが森のクマ) 
 

f:id:shakeflower93:20180215113726p:plain

『うん、だいたいできたクマ。シミュレーターでも動いてるし・・・あとはビルドックマ!』

 

f:id:shakeflower93:20180215100101p:plain

f:id:shakeflower93:20170905002033j:plain

CocosCreator(1.4)でビルドできないクマ!!!

 

f:id:shakeflower93:20180215100043p:plain

(なにこのunlinkって!!あるじゃんファイルあるじゃんクマ!!)

 

『こうなったらCocosCreatorを最新の1.8にして・・・』

 

f:id:shakeflower93:20180215100157p:plain

(プロジェクト自体が開けなくなった。ダイアログが消えないままエラーログが大量に出る)

 

f:id:shakeflower93:20180112170129p:plain

(1日くらい格闘するも光明はみえず)

『うぎぎぎg・・・せ、せっかく作ったのに、、、こうなったらもうUnityで作るックマよ!!次のゲームもUnityの予定だから勉強にもなるし、少女さんたちも許してくれるはず・・・』

 

f:id:shakeflower93:20180215093527p:plain

(Unityは2Dも作れるらしい。ここからは初めての経験クマ・・・)

 (3Dに加えて2Dの作り方も掲載されていて便利クマ。今回もこの本を足がかりに作っていくクマ)

・当たり判定

主人公のクマにRigidBody 2DとCircleColider 2Dを装着。

 

f:id:shakeflower93:20180215100329p:plain

(キャラクターは、空のGameObjectの中に子Spriteを入れる構成にした。)

f:id:shakeflower93:20180215091548p:plain

(親にRididbodyを)

f:id:shakeflower93:20180215100355p:plain

(子のSpriteにColiderを追加)

 

敵のアザラシとアイテムのサーモンのプレハブにも、BoxColiderを装着(なんでこっちは四角い当たり判定にしたのだろうかクマ・・・)

f:id:shakeflower93:20180215100437p:plain

(RigidBody は干渉するどちらかのオブジェクトについてれば物理計算が適用されるみたいなので、今回は省略)

 

物理衝突による干渉計算は必要ないので、アザラシとサーモンのColiderのisTriggerを有効にして、OnTriggerEnter2Dによる当たり判定のみに使えるようにしておく。

f:id:shakeflower93:20180215100516p:plain

(これも、ぶつかるオブジェクトのどちらか片方だけisTriggerrが有効になってればOnTriggerEnter2Dメソッドが呼ばれるみたいクマ)

 

衝突時にアザラシかサーモンか識別できるようにタグも設定クマ。

f:id:shakeflower93:20180215101037p:plain

 (えねみー)

プレイヤーオブジェクトに設定したスクリプト内のOnTriggerEnter2Dメソッド内で、タグで処理を振り分け

f:id:shakeflower93:20180215100703p:plain

3D時に使うOnTriggerEnterを最初設定していまい3時間くらいメソッドが呼ばれない現象に悩んだクマ)

 

・アニメーション

Animationウインドウでコマ割りを作って

f:id:shakeflower93:20180215094024p:plain

メカニムを設定して

f:id:shakeflower93:20180215094628p:plain

(走ってるアニメとジャンプのアニメを真偽値で切り替えられるように設定)

 

・敵の動き

AssetsのDOTweenで動きを設定。なにこれすごい便利クマ・・・cocos2dxのActionを超えているのでは・・・Sequence使いやすすぎる・・・f:id:shakeflower93:20180215094759p:plain

cocos2dxだと、1つのSequenceActionの中で複数のオブジェクトを動かすには、TargetedActionを使わないといけなかったけど、DOTweenだとフラットに書ける・・・神か・・・

(ただ、座標を動かすDOMoveを1つのオブジェクトに同時に2つ以上適用してしまうと、移動座標がおかしくなったクマ。cocos2dxだといい感じにマージしてくれたクマね・・・なんかやり方がおかしいか、方法があるのかしら・・・)

 

WebGLビルドォおおお!!!!

f:id:shakeflower93:20180215101312p:plain

 

Githubにどーん!!

f:id:shakeflower93:20180215101808p:plain

 

f:id:shakeflower93:20161008013317j:plain

『できたぁああ!!できたクマよ!!!!』 

 

f:id:shakeflower93:20180215112004p:plain
 

Unity WebGL Player | OlyKumaSkate

(こちらが完成品になりますクマ。)

 

森クマ『うーん、一応動いてはいるけど、ジャンプ時のアニメーションがうまく切り替わらないクマね・・・メカニムの設定がおかしい??』

 

なんかむずむずするところ一覧

・ジャンプ時のアニメーション切り替えがおかしい(ジャンプアニメーションにすぐに切り替わらない時がある)

f:id:shakeflower93:20180215120051p:plain

(メカニムの設定をみなおすクマ)

・スマフォでプレイ後に、シェアボタンからしようとすると、ブラウザでTwitterページが開きログインしないとツイートできない。できればTwitterアプリを開きたい。

(そもそもスマフォブラウザはサポートしていないから仕方ないのかしら・・・)

・別タブを開こうとするとポップアップでブロックされる。現在のタブで開くと、戻って来た時にゲームがリロードされてしまう

(ネットで調べると上記2つの実装方法があったけど、どちらがいいのか、そもそもスマフォでは未サポートなのか)

・音がない(いれたい)

 

f:id:shakeflower93:20180215114319p:plain

『まあおいおい作ればいいクマ(フィギュアはもう24時間後に始まってしまうが)うふふ・・・今日の進捗会ではみんな驚くクマよ』

 

・ 

f:id:shakeflower93:20180131102006j:plain

(進捗会)

f:id:shakeflower93:20180202081142p:plain

少女「それでは今日の進捗会議をはじめます。今日は森ククマさんから」

 f:id:shakeflower93:20161008013317j:plain

森クマ『はいっ!!今日は技術鍛錬の意味を含めて簡単なミニゲームをつくっ

 

f:id:shakeflower93:20170106004842j:plain

ビスクアット先輩「このクマやろおおおおお!!!!!てめぇ開発せずになにやってんだぁああああ!!!!!」

f:id:shakeflower93:20180202081026p:plain

(ここがブラックな開発室であることを思い出す)

ビスクアット先輩「進捗をなんだと思ってるんだぁあああ!!!少女さん、いやプロジェクトマネージャー様、このクマは俺が責任持って叱りつけておきます!!」

 f:id:shakeflower93:20180202081142p:plain

少女「任せるわねビスクアット。でもねビスクアット、あなたの管理責任は免れないわよ。あとでマンタの叩き部屋に来なさい」

f:id:shakeflower93:20180131093533p:plain

ビスクアット先輩「」

 

(追記)

アーバンナックルのぽうひろさんが実況プレイしてくれたクマ!

 しかしバグがあり、アザラシの行動パターンが2つしかなかったため、単純ゲーになってしまっていたクマ。

さらにコードを改善できるご指摘をいただけたクマ。そもそも作りが悪かったクマね・・・

 (ほんとだクマ!!)

f:id:shakeflower93:20180215114557p:plain

f:id:shakeflower93:20180215114609p:plain

『いやぁ、Unityって怖いですねクマ!!』

 

Unity WebGL Player | OlyKumaSkate

(作ったゲームのリンクはこちら↑)

オリンピックマ限定マグカップもよろしくねー!!!

f:id:shakeflower93:20180215113825p:plain

f:id:shakeflower93:20180215113819p:plain

 

f:id:shakeflower93:20180215114005p:plain

(WINTER COFFEE BREAKUMA!!)

f:id:shakeflower93:20180131093533p:plain

ビスクアット先輩「デバッグしやがれこのクマやろおおお!!!Unityは関係ねぇえええ!!!」

f:id:shakeflower93:20180215114806p:plain