Unityで2DGame開発するときの困りごとメモ
困りごとがたくさん出てくるのでメモしておきます。
2D Animation作成時にCreateBoneできない
お恥ずかしい。
開始点を指定するのはダブルクリックすればいいんですね。
ずっとドラッグして「ボーンが出ない!出ない!」と怒ってしまいました。
2D Animation作成時にSceneにBoneが表示されない
お恥ずかしい。(2回目)
GizmosがOFFになっていました。
↓有効にすると
Google Play用のアイコンを作成する
(参考)【Unity】アプリアイコンを正しく設定する
https://noracle.jp/unity-app-icon-settings/
画面の向きを固定する
PlayerSettingの設定を変更します。
Canvasに入れたGameObjectの衝突判定ができない
・Colliderのサイズが異常に小さくなっているので、EditColliderで伸ばした
・Canvasに入れる異常に大きい範囲のColliderになってしまったので、ScriptでColliderのサイズをオブジェクトのサイズにするようにした
http://robamemo.hatenablog.com/entry/2017/06/28/160840
Tilemapが透過しない
(参考)Unity2017.2.0b2のタイルマップエディターを触ってみた感想
http://www.asset-sale.net/entry/Unity2017.2.0b2
UnityにGoogleのAdmobを使う
(参考)Unityで作ったゲームにAdMob広告を実装する方法【バナー広告編】
https://freesworder.net/unity-admob-banner/
Admobのreward広告の動画をメイン画面でロードしておく
広告表示の負荷を下げるため、TitleのSceneで広告をロードしておきます。
ただし、sceneをまたぐと、広告をロードしたGameObjectもDestroyされてしまうので、そうならないように設定します。
(参考)Scene切替時でもGameObject等を破棄せずに保持しておく方法
https://qiita.com/srtkmsw/items/bf6a33d6bb2987c74936
OnAdRewardedが期待通りに動かない
OnAdRewardedでフラグを立てて、Showを読んだ後にフラグをチェックしていました。
しかし、Showは非同期で通過したのちイベントを受け取るので、ShowのすぐあとにOnAdRewardedで建てたフラグを見ても意味がありませんでした。
Updateでポーリングするように変更します。
(参考)Unity)admobリワードの返りがこない
https://teratail.com/questions/189343
敵キャラのHPや報酬を一覧管理してゲームバランスを調整したい
スプレッドシートを作成する
GoogleDeveloperConsoleでSpreadSheetを使えるようにする
http://kan-kikuchi.hatenablog.com/entry/ExcelImporter_QuickSheet
QuickSheet
githubからダウンロードしたQuickSheetフォルダをそのままプロジェクトに配置すれば使えるようになる。
作成されたファイル
スプレッドシートにリンクしたScriptableObjectを作成することができました。
スプレッドシートの内容がロードされていることが分かります。
Downloadボタンを押すことでinspector画面上で更新することができました。
(参考)【Unity】ScriptableObjectってなんなん? って時に読む記事【解説】
https://ekulabo.com/about-scriptable-object
(参考)【Unity】エクセルや Google スプレッドシートを ScriptableObject に変換して使用できる「Unity-QuickSheet」紹介
http://baba-s.hatenablog.com/entry/2019/01/11/150000
早送りや停止の実装
(参考)Unityでストップやスローモーション・早送りを実現するには
http://unity3dplugin.blogspot.com/2012/12/unity.html
解像度が変わると文字が小さすぎる
CanvasのCanva Scaler/UI Scale Modeを[Scale With Screen Size]に変更するとうまくいった
↓
まだちっさいけど・・・さっきよりはマシ
Canvasが大きすぎて、Cameraの中に納まっていない
(参考)【Unity】Canvasの大きさをカメラの範囲内に収めるように調節する方法
https://miyagame.net/canvas-size/#Game8001280
Resolving Android Dependencies... がうざい
(参考)Resolving Android Dependencies... が何度も発生する問題
http://waken.hatenablog.com/entry/2018/05/31/173531
Saveデータを保存・読込する
androidの場合はgoogle playのクラウドセーブ機能も使えそうです。
プロパティにするとシリアライズされないみたいです。少しはまりました。
× public int gold { set; get; }
〇 public int gold;
(参考)Unityでゲームデータのセーブ・ロードを行う方法
https://gametukurikata.com/program/savedata
(参考)グーグルプレイSavedGames(=クラウドセーブ)の実装と落とし穴
https://qiita.com/orangewk/items/d42c371d13db4886eed1
(参考)Unityでデータ保存時に気をつける事 ~iOS Data Storage Guidelines~
https://qiita.com/tempura/items/040f5cb15157fda94c84