【发布时间】:2022-07-11 04:31:12
【问题描述】:
我最近遇到了 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);
}
}
【问题讨论】:
标签: unity3d assetbundle