メモ。いつか詳しく更新するかもしれません。
Unityの勉強に使っている教材
データの管理にはSQLiet-netを使用する~Unityで図鑑を自作する~
.dbを種類作れば、アイテムデータをアップデートしてもユーザ情報を上書きして消してしまうリスクが減る
例えば
- masta.dbは、ゲームが進行していっても変わることのない、ゲーム内に存在するアイテムの情報のようなもののテーブルだけを管理する
- user.dbは、ゲームの進行ととともに変化しデータベースをアップデートしても初期化したくない情報を入れる。例えば解放済みアイテムのID一覧など
Addressablesで画像データやプレハブなどリソースを管理する
細かい理論よりも、どういう雰囲気の物か?
Addressablesを使えば、Resourcesフォルダ内でリソースを管理する必要がない。
導入が必要。
/Asset/images/player/hogehoge.png
という様なフォルダ構成でゲームを作っているとき、Addressablesを使えば上手く行く。
- Resourcesよりも、Unity公式からAddressablesの使用を推奨している
- Unityのメニュバー > Window > Package Manager > 左上のプルダウンをUnity Registryに変更 > Addressで検索 > 選択して右側に出るInstallボタン
- UnityとVSCode等のコーディングツールを再起動
- 各アイテムのインスペクタービューにAddressablesチェックボックスが現れ、ONにすると管理対象になってゲームで使うリソースとして管理できる
- その右側のSelectボタンを押すと一覧が表示され、Addressables Name列で編集したい行を右クリックすると出るメニューで、独自の識別子を名付けたり、ファイル名にできる
- Addressables Nameに登録されている名前で、そのリソースに対してスクリプトなどで使用できる
SQLite + Addressables で図鑑データを管理
まずは、アイテムに関するテーブル設計を書き出して第3正規化までを完了する。
そこで、被外部参照の主キー+データの形で成り立つ末端のテーブルについて、そのテーブルをSQLite上で管理するのではなくAddressables で管理することにした。
Itemテーブルでは、アイテム画像の指定を「ItemIconID」という外部キーで指定。
そしてItemIconテーブルを別途つくってファイル名を管理するのではなく、アイテム用のアイコン画像をAddressablesで管理する。
Addressablesで各アイテムで使用する画像データについて、Addressables Nameで指定する画像データ識別を外部キーのように扱って、Itemテーブルから取得したレコードデータのItemIconIDの情報を基に呼び出すイメージ。
コメント