- 作成したゲーム
- Google Play
- 制作期間(時間)
- 挑戦できたこと!
- やる予定だったけどやれなかったこと
- 振り返り→改善方法
- 最後に(感想)
▼Game A Weekのまとめ(ルール等)▼
★Game A Week(2021年6月まで+10本作るまで!) - ゲーム作るためのこと学ぶdevろぐ(’ー’)/チャラン
続きを読む
▼Game A Weekのまとめ(ルール等)▼
★Game A Week(2021年6月まで+10本作るまで!) - ゲーム作るためのこと学ぶdevろぐ(’ー’)/チャラン
▼Game A Weekのまとめ(ルール等)▼
GAME A WEEK(2021年6月まで+10本作るまで!) - ゲーム作るためのこと学ぶぶろぐ(’ー’)/チャラン
・水曜12時スタート~火曜24時終了を厳守
・ストア(現在はandroidのみ)の申請までを期間内に行う
・必ずリリースする。
→期限内にできなかった場合、10本のカウントにいれない。
・作業時間の記録は、机に座って行っている作業のみ集計。
(例えば散歩している間にアイディア考えたりしてるのは集計しない)
・終了後はプロジェクトにさわらない(GAME A WEEK自体をやめたら触ってもOK)
・水曜~12時に振り返りや改善作業を行い、次回につなげる ←これが一番大事★
なぜルールを決めたいの?
・期間が決まっている方が作業の計画が立てやすい
→実装したい仕様をいれるかどうかの判断材料にできる
・期間が決まっていないと振り返りで分析しづらい
→何にxx時間かかっているけどそんなに時間かけれないのか、とかそういう感覚をつかみやすくするため。
・タイトル画面
・リワード動画
・シーン遷移演出。毎回違う演出にすること!(使いまわしはNG) ←4/21追加
*1:ルールを明確にしてなくて1週間になっていないw練習週
UnityAdsをプロジェクトに初めて導入し、android実機で動作確認するためにandroidビルドをした際に発生。
最低のSdkVersionが17になっているが、UnityAdsのライブラリでは19にしないといけない、という内容
最低SDKVersionを19にあげる。
SDKVersionの設定は、 [ PlayerSetting ] の Other Settings 内にある、Minimum API Level で設定できる。
3Dオブジェクトを光らせる方法の1つに、ビルドインシェーダのStandardシェーダのEMISSIONを使う方法がある。
public void SetEmission(bool emission, Color color) { r = box.GetComponent<MeshRenderer>(); if (emission) { r.material.EnableKeyword("_EMISSION"); r.material.SetColor("_EmissionColor", color); } else { r.material.DisableKeyword("_EMISSION"); } }
上記のように、
一度EnableKeyword
で「EMISSION」を有効にする必要にしてから、色を設定する。
「EMISSION」を有効にしないと、いくら色をセットしても変わらないので注意!
最初はEMISSIONを無効にしておいて、あとからスクリプトで有効にしたい場合に発生した。 対処方法は、Resouces側に、もともとEMISSIONを有効にしたマテリアルを配置しておくことで対処できる。
これは、EMISSION無効状態のマテリアルしかプロジェクトに存在しないと、無効状態のシェーダーしかビルドされないため発生する。
予め有効状態のマテリアルをプロジェクト内に配置すればビルド時に有効状態のシャーダも一緒にビルドされることになるので、問題を解決できる!
追記:2Dなので、SpriteRendererで主に使っていたが、uGUIでも問題なく使える!
・Is Trigger
にチェックが必要
・Rigidbody 2D
コンポーネントをつける必要がある
→Body Type
は物理演算を使いたいならDynamic。物理演算の影響をうけたくない場合はKinematicでよい。
・Is Trigger
にチェックは不要
・Rigidbody 2D
コンポーネントも不要
2D用のコライダーをつけている場合、OnTriggerEnterではなくOnTriggerEnter2Dなので注意!
また、引数もColliderではなく、Collider2D となっている。
OnTriggerEnterをいくら定義しててもよばれなかったよ…
private void OnTriggerEnter2D(Collider2D other) { Debug.Log("ぶつかった"); } void OnTriggerStay2D(Collider2D collider) { Debug.Log("ぶつかってる"); } void OnTriggerExit2D(Collider2D other) { Debug.Log("ぶつかり終わった"); }
また、上記メソッドは、衝突し合っている物体どちらのメソッドも呼ばれる。
画像1dot分=座標1 transform#positionの1になるようにする
・Pixcels per Unit
を 1にする。
・MeshType
をFullRect
にする。
→これはSpriteAtlas化したときにごみができたり、画像の向きが勝手に変わってパッキングされてしまうのを防ぐため。
Projection
をOthographic
にし、Sizeは基準にしている画面サイズ*1の縦の半分にする。
・UI ScaleMode
を Scale with Screen Size
にし、
Reference Resolution
に基準にしている画面サイズ*2を設定する
→この設定で、画面サイズが異なっていても、アスペクト比が同じなら同じように表示されるように自動でスケーリングしてくれる。
Match
で横幅あわせか縦あわせかを設定することで、アスペクト比が異なる端末にも対応できる。
・Render Mode
をScreen Space Overlay
にする。
→これは常にUIを一番手前にもってくるため