ジモトコレクション 〜制作奮闘記1〜
こんばんは。ひろし@Y.C.LABです。
今日は以前制作していたアプリ、ジモトコレクションの制作中に困ったこと、解決策などを書いておく。
ジモトコレクションはunityを使用したアプリで、2017年11月ごろに制作していた。
開発途中でスピンオフアプリ”ポストコレクション”をリリースし、ジモトコレクションは中断している。
今回はunityを操作する上での備忘録を兼ねて書きたいと思う。
ちなみにジモトコレクションの開発途中の画面はこれ↓↓
1.遅い球が跳ね返らない
まず困ったのが、地元の自慢を円状(泡のイメージ)にして、ふわふわ浮かしているイメージを作るために、2Dで円を作り、初速を与えたのだが、他の物体にぶつかっても跳ね返らない。
もちろん、Rigidbodyと、Physic Materialは設定済みだ。
色々と調べた結果、
Edit > Project Settings > Physics > Bounce Threshold
で最低の速度を設定する必要があった。これはゲームなんかでも起こりえることだと思うが、物体のスピードが小さすぎるとバウンドしてくれないのだ。
2.フリックで画面を動かす
フリックで画面を動かすためには、
Void OnMouseDown()
Void OnMouseDrag()
の組み合わせでいける。ハマりどころは、大文字と小文字の組み合わせに注意が必要だ。また、2DでもZ軸の位置を変えていると、一番手前の物体しか反応しない。もちろんだが、colliderを設定しておく必要がある。
3.ゲージを実装
ゲームでも使えると思うが、長押しをするとゲージが溜まるようなものを作りたかった。ジモトコレクションでは、”いいね”の代わりにジモPというポイントを投票できる仕組みを作っていた。
その投票の仕方に長押しを採用したのだ。今回は、円のボタンを長押ししていると、その外周にゲージが溜まっていくイメージだ。
UI → ImageでImage TypeにFilledを選択。
Fill MethodでRadial360を選択。Fill OriginはTopを選択。
あとはスクリプトから、押してる間に、Fill Amountを0から1へ増加させればいい。
4.非アクティブのオブジェクトをアクティブにする
これもよく使うのだが、Inspectorのチェックボックスをオフにしてあるオブジェクトをオンにしたい時のことだ。これは、親オブジェクトからアクセスすることで解決する。
GameObject.Find(“親オブジェクト”).transform.Find(“子オブジェクト”).gameObject.SetActiv(“true”);
こんな感じ。
とりあえず、以上の4つくらいにしておく。他にも位置情報が使えなかったり、バーコードの読み込みがうまくいかなかったり等色々あったが、そのうちに書くことにする。
おそらくunityを使い慣れている人からすれば、何を当たり前のこと言ってるんだ!か、いやもっとこうした方が楽だよ。。とか意見があると思うが、なにせほぼ初めてunityでアプリを作った時のことだから大目に見て欲しい。
というか今もこのレベルから変わっていないが。。
ちなみにジモトコレクションの開発再開、リリースは未定だが、地元を愛するY.C.LABらしいアプリを今後も制作していく予定。