levels | アセットバンドルに含めるシーンアセットのパスの配列 |
locationPath | アセットバンドルの保存先 |
target | アセットバンドルが使用されるランタイムのプラットフォーム |
crc | 生成されたアセットバンドルの CRC チェックサムを受け取るための出力パラメーター |
options | ビルドオプション。選択できる値の一覧については BuildOptions を参照してください。 |
string なんらかのエラーが出た場合、戻り値としてエラー文字を返します。成功したときは空文字になります。
複数のシーンとそのシーンに依存するすべてのオブジェクトを圧縮したアセットバンドルとしてビルドします
シーンのアセットバンドルは任意のターゲットプラットフォームで使用でき、常にひとつの圧縮 unity3d ファイルを生成します。
シーンは WWW クラスを利用してダウンロードされ、読み込まれます。
シーンがダウンロードされた後、WWW.LoadFromCacheOrDownload を使用してそのシーンをキャッシュできます。オプションとして、crc
出力パラメーターを使用して、生成されたアセットバンドルの CRC チェックサムを取得できます。チェックサムは、WWW.LoadFromCacheOrDownload を使ってアセットバンドルをダウンロードするときにコンテンツを検証するために使用されます。
// Build a streamed unity3d file. This contain one scene that can be downloaded // on demand and loaded once its asset bundle has been loaded.
@MenuItem ("Build/BuildWebplayerStreamed") static function MyBuild(){ var levels : String[] = ["Assets/Level1.unity"]; BuildPipeline.BuildStreamedSceneAssetBundle( levels, "Streamed-Level1.unity3d", BuildTarget.WebPlayer); }
using UnityEngine; using UnityEditor; using System.Collections;
public class StreamedSceneLoaderExample : MonoBehaviour {
// Build a streamed unity3d file. This contain one scene that can be downloaded // on demand and loaded once its asset bundle has been loaded.
[MenuItem ("Build/BuildWebplayerStreamed")] public static void MyBuild(){ string[] levels = new string[] {"Assets/Level1.unity"}; BuildPipeline.BuildStreamedSceneAssetBundle( levels, "Streamed-Level1.unity3d", BuildTarget.WebPlayer); } }
作成された圧縮ファイルをダウンロードする場合、シーンを関数 Application.LoadLevel() と Application.LoadLevelAdditive() に使用可能にするには WWW.assetBundle を呼び出す必要があります。
function Start () { // Download compressed scene. If version 5 of the file named "Streamed-Level1.unity3d" was previously downloaded and cached. // Then Unity will completely skip the download and load the decompressed scene directly from disk. var download = WWW.LoadFromCacheOrDownload ("http://myWebSite.com/Streamed-Level1.unity3d", 5); yield download; // Handle error if (download.error != null) { Debug.LogError(download.error); return; } // In order to make the scene available from LoadLevel, we have to load the asset bundle. // The AssetBundle class also lets you force unload all assets and file storage once it is no longer needed. var bundle = download.assetBundle; // Load the level we have just downloaded Application.LoadLevel ("Level1"); }
using UnityEngine; using System.Collections;
public class StreamedSceneLoaderExample : MonoBehaviour {
IEnumerator Start () { // Download compressed scene. If version 5 of the file named "Streamed-Level1.unity3d" was previously downloaded and cached. // Then Unity will completely skip the download and load the decompressed scene directly from disk. var download = WWW.LoadFromCacheOrDownload ("http://myWebSite.com/Streamed-Level1.unity3d", 5); yield return download; // Handle error if (download.error != null) { Debug.LogError(download.error); yield break; } // In order to make the scene available from LoadLevel, we have to load the asset bundle. // The AssetBundle class also lets you force unload all assets and file storage once it is no longer needed. var bundle = download.assetBundle; // Load the level we have just downloaded Application.LoadLevel ("Level1"); } }