Unityシーンパッケージングテストレコード

1635 ワード

テスト1:複数のシーンで共有するPrefabFBXマテリアルマップなどをAssetBundleにパッケージ化し、シーンでパッケージ化されたAssetBunldeファイルもこれらの細分化されたABに依存し、全体のリソースサイズも低下.テストされたManifestは次のとおりです.
ManifestFileVersion: 0
CRC: 278060267
AssetBundleManifest:
  AssetBundleInfos:
    Info_0:
      Name: test_scene_1.unity3d
      Dependencies:
        Dependency_0: test_prefab_ab.unity3d
    Info_1:
      Name: test_scene_2.unity3d
      Dependencies:
        Dependency_0: test_prefab_ab.unity3d
    Info_2:
      Name: test_scene_3.unity3d
      Dependencies:
        Dependency_0: test_prefab_ab.unity3d
    Info_3:
      Name: test_mat_ab.unity3d
      Dependencies: {}
    Info_4:
      Name: test_prefab_ab.unity3d
      Dependencies:
        Dependency_0: test_mat_ab.unity3d
        Dependency_1: test_fbx_ab.unity3d
    Info_5:
      Name: test_fbx_ab.unity3d
      Dependencies:
        Dependency_0: test_mat_ab.unity3d

テスト2:サブディビジョンパッケージの場合、マテリアルのプロパティのみを調整すると、パッケージ結果はマテリアルが存在するABバイナリのみが変化し、そのマテリアルを使用するシーンでパッケージされたバイナリは変化しない.したがって、サブディビジョンパッケージを行う場合、パッケージ後のファイルのバイナリのみを比較して変化があるか否かを比較することができる(HASHは無視できる).
テスト3:AssetBundleをパッケージ化する場合、共通依存部分のみを抽出し、共通依存部分を独立したAssetBundleにし、最後のAPKサイズ:339 MBを記録する.AssetBundleをパッケージ化する場合、共通の依存部分を独立したAssetBundleとするだけでなく、単一のAssetBundleに依存するファイルだけを独立したAssetBundleとして(ファイルが存在するディレクトリによって自動的に区切る)、最後のAPKサイズ:395 MBを記録する.比較の結果、細分化されたパッケージが大きくなっていることがわかり、Unityに内蔵されているはずのリソースが抽出されずに独立したAssetBundleとして使用されている場所が個別に含まれていることがわかりました(ここを参照:https://zhuanlan.zhihu.com/p/25111851).自分で上の文章を参考にしてこのようなパッケージを作りたいのですが,内蔵リソースを抽出するステップに詰まってしまい,あきらめてしまいました.公共の部分だけを抽出しても需要を満たすことができると思います.一部のAB包体が大きすぎると感じたら、包を打った後に手動で体積が大きすぎるab包を分解すればよい.