Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

BuildPipeline.BuildAssetBundles

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える
public static function BuildAssetBundles(outputPath: string, assetBundleOptions: BuildAssetBundleOptions = BuildAssetBundleOptions.None, targetPlatform: BuildTarget = BuildTarget.WebPlayer): AssetBundleManifest;
public static AssetBundleManifest BuildAssetBundles(string outputPath, BuildAssetBundleOptions assetBundleOptions = BuildAssetBundleOptions.None, BuildTarget targetPlatform = BuildTarget.WebPlayer);

パラメーター

outputPath アセットバンドルの出力パス
assetBundleOptions アセットバンドルのビルドオプション
targetPlatform ビルド時の対象プラットフォームを選択します

説明

エディターで指定されたすべてのアセットバンドルを作成します。

この関数は、名前を付けたアセットバンドルに含めるためのマークをアセットにつけた後で、アセットバンドルをビルドするために使います(詳細は、マニュアルの building asset bundles ページを見てください)。この関数は、エディターで指定したバンドルをビルドし、ビルドが成功した場合は true を、そうでない場合には false を返します。加えて、ターゲットフォルダーのパスが間違っている等、よくある失敗原因を提示するために、エラーメッセージが表示されます。\n

outputPath はプロジェクトフォルダー内にあるフォルダーのパスで、ここにバンドルが保存されます (例えば Assets/MyBundleFolder)。フォルダーは自動的には作成されず、存在しない場合には関数は失敗します。

オプションの assetBundleOptions は、 targetPlatform が、配信するターゲット(スタンドアローンやモバイルなど)を選択するときに、バンドルをビルドする方法を編集します。スタンドアローンプラットホーム向けのバンドルビルドは、モバイル向けのビルドとは互換性がないので、異なるバージョンのバンドルを作成する必要があります。プラットホーム間でのバンドルの互換性については、マニュアルの Asset Bundle FAQ を参照してください。


        
using UnityEngine;
using UnityEditor;

public class BuildAssetBundlesExample : MonoBehaviour { [MenuItem( "Example/Build Asset Bundles" )] static void BuildABs( ) { // Put the bundles in a folder called "ABs" within the Assets folder. BuildPipeline.BuildAssetBundles( "Assets/ABs", BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows ); } }

BuildAssetBundles は、アセットバンドルをビルドする際、アクティブなビルドターゲットを targetPlatform で指定したものに変更しますが、終了後には元のアクティブなビルドターゲットに戻します。大きなプロジェクトや連続でアセットバンドルをビルドする際には、ビルドターゲットの切り替えは遅くなります。その場合、むしろ元のビルドターゲットに戻したくないのであれば BuildAssetBundles を呼ぶ前に targetPlatform を切り替える事ができます。例えば:

See Also: AssetBundle.


public static function BuildAssetBundles(outputPath: string, builds: AssetBundleBuild[], assetBundleOptions: BuildAssetBundleOptions = BuildAssetBundleOptions.None, targetPlatform: BuildTarget = BuildTarget.WebPlayer): AssetBundleManifest;
public static AssetBundleManifest BuildAssetBundles(string outputPath, AssetBundleBuild[] builds, BuildAssetBundleOptions assetBundleOptions = BuildAssetBundleOptions.None, BuildTarget targetPlatform = BuildTarget.WebPlayer);

パラメーター

outputPath アセットバンドルの出力パス
builds アセットバンドルのビルドマップ
assetBundleOptions アセットバンドルのビルドオプション
targetPlatform ビルド時の対象プラットフォームを選択します

説明

ビルドマップからアセットバンドルを作成します。

この関数では、エディターで設定した詳細でなく、ビルドマップを使用してバンドル名とコンテンツを指定することができます。マップは単純に、AssetBundleBuild オブジェクトの配列で、それぞれにバンドル名と指定されたバンドルに加えるアセットファイル名のリストが含まれています。


        
using UnityEngine;
using UnityEditor;

public class BuildAssetBundlesBuildMapExample : MonoBehaviour { [MenuItem( "Example/Build Asset Bundles Using BuildMap" )] static void BuildMapABs( ) { // Create the array of bundle build details. AssetBundleBuild[] buildMap = new AssetBundleBuild[2];

buildMap[0].assetBundleName = "enemybundle";

string[] enemyAssets = new string[2]; enemyAssets[0] = "Assets/Textures/char_enemy_alienShip.jpg"; enemyAssets[1] = "Assets/Textures/char_enemy_alienShip-damaged.jpg";

buildMap[0].assetNames = enemyAssets; buildMap[1].assetBundleName = "herobundle";

string[] heroAssets = new string[1]; heroAssets[0] = "char_hero_beanMan"; buildMap[1].assetNames = heroAssets;

BuildPipeline.BuildAssetBundles( "Assets/ABs", buildMap, BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows ); } }

See Also: AssetBundleBuild.