トマシープが学ぶ

Unity/VR好きのミーハー初心者 記事内容は自分用のメモ。何も求めないで

【unity1week】スペースworldでスケート【お題:Space】

今回も参加したいと思います。

 

お題はSpaceです。

背景

www.huffingtonpost.jp

www.youtube.com

これをネタにしたゲームを作ろうかなと思ったけど不謹慎なのでやめました。

普通にスケートして、障害物を避けていく感じにします。

スペワのスケートリンクって直線らしいですよ。(行ったことない)

f:id:bibinbaleo:20171113200202p:plain

舞台づくり

とりあえずアセットやモデルなどを入れます。

今回はローポリを中心に使って、スマホでも動くようなものを作り、できればGooglePlayStoreに出品?したいです。

poly.google.com

poly.google.com

poly.google.com

www.cgtrader.com

こちらのサイトからフリーのジェットコースターをダウンロードさせていただいたのですが、dwgというCADの形式でした。

Rooler coaster requested by Isaac Okosun | CGTrader.com

どこかにローポリのジェットコースターないかな?

© UTJ/UCL

これらを使い絵づくりをしました。

f:id:bibinbaleo:20171113195431p:plain

f:id:bibinbaleo:20171113195446p:plain

f:id:bibinbaleo:20171113195452p:plain

f:id:bibinbaleo:20171113200327p:plain

ゲーム性

ゲームとしては一定速度でまっすぐ進むunityちゃんを左右に動かして、障害物を避けていく感じにします。当たったら、最初の地点まで戻ります。

Animated GIF - Find & Share on GIPHYwww.giphy.com

動かす

itweenを使って動かしていましたが、rigidbodyをつけるとitweenが動かなくなったので普通にスクリプトを使って動かしました。

Vector3 m_pos = transform.localPosition;

m_pos.x += 2.6f*Time.deltaTime;
transform.localPosition = m_pos; 

マウス操作はInput.mousePositionでx座標だけとって、Screen.widthを使って画面中心が0になるようにしてあとは画面サイズを800に固定して、いい感じにオブジェクトの位置と合わせました。

float mouse_x = Input.mousePosition.x-(Screen.width/2);

        if (m_pos.z>-2 && m_pos.z<2) {
            m_pos.z =-(mouse_x/180);
            transform.localPosition = m_pos;
        }

 衝突はcolliderとrigidbodyをつけないと反応してくれませんでした。衝突難しいから嫌い。安定してくれない・・・

indie-du.com

最終的なunityちゃんのコード

gist.github.com

スタート&エンド画面

Unity3D:ゲーム開始時によくあるカウントダウン表示を作成する - devlog [naru design]

いきなり始まると操作が大変だと思ったので、カウントダウンやスタートページを作ろうかと思ったのですが、めんどくさかったので、めっちゃ手前からスタートして、下の方に説明文をずっと出しておくことにしました。

f:id:bibinbaleo:20171115185031p:plain

そしてエンド画面はこんな感じにしました。

f:id:bibinbaleo:20171115102001p:plain

完成

めっちゃ早く完成しました。まあ単純なゲーム性だし、UIとか全然頑張ってないからこんなもんかな?

https://unityroom.com/games/spawa_skate