AssetBundle包卸载失败报错--unity学习

文章讲述了在Unity中处理预制体ab包卸载时遇到的错误,原因是摄像机预设了RenderTexture。解决方法是将摄像机的输出设置为none,并在代码中手动设置输出纹理。
摘要由CSDN通过智能技术生成

在处理预制体ab包卸载的时候,调用assetBundle.Unload(true),引发报错:

Assertion failed on expression: 'm_PreventLoadingFromFile != nameSpaceID'
UnityEngine.StackTraceUtility:ExtractStackTrace ()

在官网搜索unloadAssetBundle failed,会有解释:

UnloadAssetBundle failed - Questions & Answers - Unity Discussions

问题就出现在摄像机身上,这个预制体的ab包中,摄像机预设了输出的RenderTexture,再卸载ab包时调用assetBundle.Unload(true),就会出现这个报错。

那么解决方案就只需将摄像机输出的预设置为none,然后在代码中为摄像机添加输出的texture。

    public Camera modelCam;
    public RenderTexture modelTexture;

    override protected void Awake()
    {
        base.Awake();

        modelCam.targetTexture = modelTexture;
    }
  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值