У меня есть 2 сцены, и я хочу перенаправить их с одной на другую при нажатии кнопки. Я использовал AssetBundle для этого. Вот код для экспорта активов:
public class ExportAssetBundles
{
[MenuItem("Assets/Build AssetBundle")]
static void ExportResource()
{
string folderName = "AssetBundles";
string filePath = Path.Combine(Application.streamingAssetsPath, folderName);
BuildPipeline.BuildAssetBundles(filePath, BuildAssetBundleOptions.None, BuildTarget.NoTarget);
}
}
А вот и код для загрузки:
public class RedirectToMenu : MonoBehaviour {
void Start () {
Button btn = GetComponent<Button>);
btn.onClick.AddListener(OnClick);
}
public void OnClick(){
Debug.Log("You have clicked the button!");
LoadAsset("MenuFinal");
}
IEnumerator LoadAsset(string assetBundleName)//, string objectNameToLoad)
{
string filePath = System.IO.Path.Combine(Application.streamingAssetsPath, "AssetBundles");
filePath = System.IO.Path.Combine(filePath, assetBundleName);
var assetBundleCreateRequest = AssetBundle.LoadFromFileAsync(filePath);
yield return assetBundleCreateRequest;
AssetBundle asseBundle = assetBundleCreateRequest.assetBundle;
}
}
Поэтому, когда я запускаю свою сцену в Unity, я получаю такую ошибку в консоли:
ArgumentException: The output path "D:/userdata/Documents/Scene1/Assets/StreamingAssets\AssetBundles" doesn't exist(at ExportAssetBundles.ExportResource () (at Assets/ExportAssetBundles.cs:16)
Я поместил свои сцены в папку Assets:
Кроме того, я добавил их в настройки сборки:
Итак, как я могу исправить эту ошибку и заставить работать перенаправление? Это проблема с кодом или проблема с расположением файлов?