unityroomでゲーム公開した話
UnityRoomでゲーム公開をしたときにつまづいた点と自分がゲームを作っていてつまづいた点を書いていきたいたいと思います。
何回かUnityRoomに投稿してもその都度忘れているのでメモ書きでもあります。
作ったゲーム
上のようなインベーダーゲームを作りました。
以下のurlでプレイできます。
https://unityroom.com/games/pintyu
つまづいた点
・壁の反射処理
UnityのPhysicMaterialを壁と弾に付けて反射の処理を作ってます。
これがついているもの同士で動くみたいです。
・エネミーのエフェクトの再生
複数のエネミーに同じ爆発エフェクトを適用したかったので以下のようにしました。
public ParticleSystem explosion; //スクリプトにエフェクトを付ける
explosion.Play(); //再生
ですが、
this.GatConponent<ParticisSystem>().play //オブジェクトにエフェクトをつける
で良かった気がする。
・UIの表示、BGMの切り替え
今回はSceneを切り替えずにタイトルとゲーム終了画面を作りました。
その時に、ゲームオブジェクト名.SetActive(false)
を使って表示を切り替えていました。
ゲームが終了した後のスコア表示の画面です。
赤で囲んだところでTextやBGMをまとめてそれの表示を切り替えています。
欠点としてはGameObject.Find("オブジェクト名")で見つけて来られない事です。
・WevGLでビルドするとUIが表示されない
WebGLにビルドするときは切り替えてビルドすればいいのですが、問題はその時にUI
が表示されなくなることです。
UnityのTextの標準ではArialフォントになってます。
このフォントは日本語が入っておらず、置き換えの処理とかがないと空白を返すよう
です。以下のサイトで詳しく説明してくれています。
これは毎回遭遇する問題でした。
感想など
今回は初めに基本となる処理を書いてから後で3Dモデルやエフェクト、BGMを追加
していきました。
毎度のことながら無計画だったのでスクリプトを書く、モデル探す、スクリプト直す
or 書くを繰り返していました。
今回は締め切りがなかったのでダラダラと作っていたら3週間くらいかかりました。
自分的には長期間作っていたので、モチベーションの維持が大変でした。
最悪年内に完成と思っていたら12月31日に完成して公開になりました。
日頃からちょくちょく作る習慣をつけたいです。
Twitterとかで進捗を出した方がいいのかもしれません。
使用アセット
・Planet Earth Free
後ろの地球のモデルです。Rotet関数で回してます。
・The Moon
銀河的な背景を探している時に買いました。
ついでに月を地球に引っ付けてます。
・Space Droid
敵の小さい奴です。Scal で小さくしてます。
・Rebel Probe
敵です。Rotetion で角度を変えてます。
・Sci-Fi - Space Warship Lancer
敵です。当たり判定が大きくて操作側からするとうれしい。
・Low Poly Starship SS01
選べる3タイプ。プレイヤーのモデルです。
・Selected U3D Japanese Font
UIのフォントです。アセットストアの日本語フォントの無料はこれだけみたいです。
・Space Arcade - Effects
爆発と銃発射のエフェクトです。2Dっぽい。
・Particle Collection SKJ 2016_Free samples
様々なエフェクトが入ってます。弾の光。雷とか面白そう。
・The Night Sky
スコア画面のBGMです。夜って感じです。
・Dark Future Music
ゲーム中のBGMです。邦子のテーマに近いものを感じます。
・"Absolute Space & Sci-Fi vol.1" Free Sample
タイトル画面のBGMです。
・FREE Casual Game SFX Pack
始まった時の効果音です。
・Futuristic Gun SoundFX
銃を撃った時の効果音です。
・CN Controls (Joystick, Touchpad, Button and D-Pad)
スマホ操作用です。Touchpadで操作できるようにしてます。
非常に使いやすいアセットです。