当サイトではPRを含む商品リンクを使用しております。

UnityのAddressablesとSQLite図鑑を自作する

メモ。いつか詳しく更新するかもしれません。

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の情報を基に呼び出すイメージ。

コメント

タイトルとURLをコピーしました