РЕЗЮМЕ: Мне нужно использовать PhotonNetwork.InstantiateSceneObject (строка prefab_name) для создания экземпляра объекта, который находится в AssetBundle.
Во время выполнения я загружаю комплект ресурсов Unity из Интернета, который содержит кучупрефабы. Затем я хочу использовать PhotonNetwork.InstantiateSceneObject для создания экземпляров некоторых префабов, но эта функция принимает только строку имени префаба, но все префабы находятся внутри пакета ресурсов и доступны только в том случае, если вы сначала загрузите объект как префаб, а затем создадите экземплярЭто. Вы не можете создать его как строковое имя напрямую, как если бы оно было в папке Resource.
AssetBundle ab=AssetBundle.LoadFromFile("c:\assets\bundlename.android");
var prefab=ab.LoadAsset("networked_monster.prefab");
PhotonNetwork.InstantiateSceneObject("networked_monster.prefab"); <<------ this wont work, cant access asset bundle from Photon
Есть ли способ распаковать все префабы и другие объекты в комплекте ресурсов, чтобы он выглядел так, как если бывсе они находятся в папке ресурсов ??? Тогда я смогу получить к ним доступ следующим образом:
PhotonNetwork.InstantiateSceneObject("networked_monster.prefab");
AudioClip audio=Resources.Load("BangZoom") as AudioClip;
Здесь BangZoom - это файл WAV, который был внутри пакета ресурсов, и мне нужно, чтобы он отображался так, как если бы он находился в папке ресурсов.
Кроме того, «networked_monster.prefab» был в комплекте ресурсов, мне нужно, чтобы он отображался так, как если бы он находился в папке ресурсов, чтобы я мог создать его экземпляр по имени.
Также как мне выгрузить иосвободить все эти активы, когда я закончу с ними?