Version: 2022.3

描述

不包括 AssetBundle 中的类型信息。

指定此标志将使 AssetBundle 容易受到脚本或 Unity 版本变更的影戏,但会使文件变得更小,加载起来也更快一点。 此标志只会对默认包含类型信息的平台的 AssetBundles 产生影响。 Web 平台必须包含类型信息,因此,举例来说,如果您在构建目标为 BuildTarget.WebPlayer 时指定此标志,Unity 将拒绝构建 AssetBundle。

AssetBundles built without type trees cannot be loaded in the Editor. This flag is useful for AssetBundles that are included in the player build and are rebuilt in each release.

另请参阅:BuildPipeline.BuildAssetBundles

//Create a folder (right click in the Assets folder and go to Create>Folder), and name it “Editor” if it doesn’t already exist
//Place this script in the Editor folder

//This script creates a new Menu named “Build Asset” and new options within the menu named “Normal” and “Disable Write Type Tree”. Click these menu items to build an AssetBundle into a folder.

using UnityEngine; using UnityEditor;

public class Example { //Creates a new menu (Build Asset Bundles) and item (Normal) in the Editor [MenuItem("Build Asset Bundles/Normal")] static void BuildABsNone() { //Build AssetBundles with no special options //They will be written in the custom folder ("MyAssetBuilds") which needs to exist prior to this call. BuildPipeline.BuildAssetBundles("Assets/MyAssetBuilds", BuildAssetBundleOptions.None, BuildTarget.StandaloneOSX); }

//Creates a new item (Disable Write Type Tree) in the new Build Asset Bundles menu [MenuItem("Build Asset Bundles/Disable Write Type Tree")] static void BuildABsTree() { //Build the AssetBundles in this mode BuildPipeline.BuildAssetBundles("Assets/MyAssetBuilds", BuildAssetBundleOptions.DisableWriteTypeTree, BuildTarget.StandaloneOSX); } }