言語: 日本語
  • C#
  • JS
  • Boo

スクリプト言語

お好みのスクリプト言語を選択すると、サンプルコードがその言語で表示されます。

BuildPipeline.PushAssetDependencies

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

public static function PushAssetDependencies(): void;
public static void PushAssetDependencies();
public static def PushAssetDependencies() as void

Description

異なるアセットバンドルやプレイヤーの相互参照・依存関係を管理することが出来ます

If a asset bundle has dependencies to other asset bundles, it is your responsibility to make sure the dependent asset bundles are loaded through the WWW class. When you push asset dependencies it will share all resources on that layer, pushing recursively always inherits the previous dependencies. PushAssetDependencies and PopAssetDependencies must even each other out.

	@MenuItem("Assets/Auto Build Asset Bundles")
	static function ExportResource () {

		// Enable cross-references for all following asset bundles files until
		// we call PopAssetDependencies
		BuildPipeline.PushAssetDependencies();

		var options =
			BuildAssetBundleOptions.CollectDependencies |
			BuildAssetBundleOptions.CompleteAssets;

		// All subsequent resources share assets in this asset bundles
		// It is up to you to ensure that the shared asset bundle is
		// loaded prior to loading other resources
		BuildPipeline.BuildAssetBundle(
			AssetDatabase.LoadMainAssetAtPath("assets/artwork/lerpzuv.tif"),
			null, "Shared.unity3d", options);

		// By pushing and popping around the asset bundle, this file
		// will share resources but later asset bundles will not share assets in this resource
		BuildPipeline.PushAssetDependencies();
		BuildPipeline.BuildAssetBundle(
			AssetDatabase.LoadMainAssetAtPath("Assets/Artwork/Lerpz.fbx"),
			null, "Lerpz.unity3d", options);
		BuildPipeline.PopAssetDependencies();

		// By pushing and popping around the asset bundle, this file
		// will share resources but later asset bundles will not share assets in this resource
		BuildPipeline.PushAssetDependencies();
		BuildPipeline.BuildAssetBundle(
			AssetDatabase.LoadMainAssetAtPath("Assets/Artwork/explosive guitex.prefab"),
			null, "explosive.unity3d", options);
		BuildPipeline.PopAssetDependencies();

		// By pushing and popping around the asset bundle, this file
		// will share resources but later asset bundles will not share assets in this resource
		BuildPipeline.PushAssetDependencies();
		BuildPipeline.BuildStreamedSceneAssetBundle(
			["Assets/AdditiveScene.unity"], "AdditiveScene.unity3d", BuildTarget.WebPlayer);	
		BuildPipeline.PopAssetDependencies();
		
		BuildPipeline.PopAssetDependencies();
	}