不要在 AssetBundle 中包含类型信息。
指定此标志将使 AssetBundle 容易受到脚本或 Unity 版本更改的影响,但会使文件更小,加载速度略快。此标志仅影响默认情况下包含类型信息的平台的 AssetBundle。Web 平台必须存在类型信息,因此例如,如果您在构建目标为 BuildTarget.WebPlayer 时指定此标志,Unity 将拒绝构建 AssetBundle。
在编辑器中无法加载没有类型树的 AssetBundle。此标志适用于包含在播放器构建中并在每次发布时重新构建的 AssetBundle。
其他资源: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); } }