Создайте среду выполнения AssetBundle - PullRequest
0 голосов
/ 04 сентября 2018

Я использую Unity, и мне нужна кнопка, которая вызывает функцию, которая позволяет мне создавать AssetBundle, чтобы я мог сделать программное обеспечение внешним от единицы, которое позволяет мне создавать AssetBundle; Является ли это возможным? Спасибо всем.

1 Ответ

0 голосов
/ 04 сентября 2018

Создание среды выполнения AssetBundle

Это невозможно сделать. Для построения групп ресурсов требуется buildPipeline , который находится в пространстве имен UnityEditor , к которому нельзя получить доступ во время выполнения, поскольку он является только редактором.

Создание внешнего приложения для этого, которое вы вызываете из Unity, скорее всего, также не будет работать, если вы не знаете, как реплицировать их конвейер в собственном приложении, и я сомневаюсь, что вы сможете вызывать его из-за пределов Unity (и даже если бы вы могли, он все равно не работал бы во время выполнения, поскольку ресурсы стали бы доступны только для чтения)

Я не уверен, почему вы захотите создавать пакеты активов во время выполнения, но единственный способ, который я могу придумать, может сработать, это использовать JSON / XML.

Для этого потребуются два экземпляра единства, чтобы сделать это в «реальном времени». Первым примером единства будет запуск вашей игры с объектом, который вы хотите превратить в anassetbundle. После нажатия вашей кнопки будет вызвана функция, которая получает всю информацию о вашем GameObject (компоненты, значения, идентификаторы, буквально все) и анализирует ее в файл XML / JSON. Затем этот файл будет загружен / сохранен где-нибудь, где ваш второй экземпляр Unity сможет получить к нему доступ. Затем второй экземпляр единицы будет читать этот JSON / XML-файл во время редактирования, восстанавливать исходный GameObject из данных внутри (это можно сделать во время редактирования из сценария), а затем помещать этот восстановленный объект через конвейер assetbundle.

Примите к сведению, что я никогда сам этого не делал, и не на 100% это сработает. Хотя я вполне уверен, что если все сделано правильно, это должно сработать.

...