Как правильно использовать префабы из AssetBundles?

Недавно я столкнулся с AssetBundles и попытался внедрить его в свой проект. У меня есть довольно простая игра, где управляя персонажем, вы должны собирать монеты. Я создал AssetBundle, в котором сделал префабы и поместил все из игровой сцены (фон, игрок, земля и т. д.) в AssetBundle. Однако при загрузке объектов из бандла в игровую сцену, несмотря на одинаковый размер и параметры преобразования в инспекторе, при запуске игры они больше, чем исходные префабы. Когда дело доходит до загруженного персонажа, он не только в десять раз больше оригинала, но и требует корректировки зависимостей скриптов во время игры, чтобы управлять им с помощью джойстика. Что касается несоответствия размера префаба, я думаю, что это как-то связано с экраном загрузки, поскольку все, что выходит из бандла, масштабируется до его размера (см. Рис. 1), но я не знаю, почему это происходит и как это исправить.

Скрипт, загружающий префабы:

public class LoadAssetBundles : MonoBehaviour
{

    AssetBundle loadedAssetBundle;
    public string path;
    public string assetName;

    void Start()
    {
        LoadAssetBundle(path);
        InstantiateObjectFromBundle(assetName);
    }

    void LoadAssetBundle(string bundleUrl)
    {
        loadedAssetBundle = AssetBundle.LoadFromFile(bundleUrl);

    }

    void InstantiateObjectFromBundle(string assetName)
    {
        var prefab = loadedAssetBundle.LoadAsset(assetName);
        Instantiate(prefab);
    }

}

Рис.1

Рис.2

Рис.3


Ответы (0 шт):