前提
- Unity製のひねってないゲームアプリを想定
- apk自体ではなく起動後にリソースを取得するタイプ
- リソースが特に暗号化されていない
1. リソース取得
- Android(エミュレータでも可)で対象のアプリをインストール&起動
- 数GBのリソースダウンロードがだいたいあるので待つ
- アプリを終了
- ファイルマネージャやUSB接続経由などで保存先フォルダを確認
- 以下のような感じ
- Android/data/com.example.sampleapp/files/UnityCache/Shared
- Android/data/com.example.sampleapp/files/AssetBundls
- 該当フォルダの中身を作業用フォルダにコピー
- 次へ
2. 抽出
- AssetStudioをインストール
- インストールしたAssetStudioを開く
- AssetStudioGUI.exeを実行
- 気になるファイルを開く
- 気になるファイル(容量でかい、それっぽい名前など)
- File > LoadFile
- Asset List タブに抽出内容が表示される
- 必要そうなものを抽出
- 必要そう(画像ファイル、.atlas、skeletelondataなど)
- Export > All assets
- オプションで余計なフォルダ構造や拡張子の変更をなくしておいたほうが良い
- Options > Export options
- Group exported assets by > do not group
- Restore TextAsset extension name > off
- Options > Export options
- 次へ
3. 抽出ファイルの確認
- Unity向けにどのように出力されているかファイルの構造を確認する
- spine-unityランタイムドキュメント
- 今回は仮定としてJSON形式で出力されているとする
- 規定のファイル名前になるように修正する
- 今回の例
- 修正前
- skeleton-name.txt
- skeleton-name.atlas.txt
- skeleton-name.png
- 修正後
- skeleton-name.json
- skeleton-name.atlas.txt
- skeleton-name.png
- 修正前
- 今回の例
- とりあえず揃っていそうなら次へ
4. 閲覧
Unityで最初から取り込んでも良いがまずは閲覧できることを確認する
- Skeleton Viewerをインストール
- 起動して抽出ファイルを読み込む
- 上手く表示されれば次へ
- ダメそうなら抽出ファイルが足りない、バージョンが違うなど問題を解決する
- もうちょっと!
5. Unityで取り込み
- spine-unityランタイムをプロジェクトに追加
- プロジェクトのAssetsにドラッグアンドドロップで抽出ファイルを追加
- ランタイム側で勝手にインポートしてくれる
- 閲覧できていれば大丈夫なはず!
- アセットフォルダの「skeleton-name_SkeletonData.asset」ができているはず
- 生成された_SkeletonData.assetをヒエラルキーに入れればOK
- あとは好きなように楽しむ!