unity5 测试导出场景和光照贴图丢失的问题

实验步骤:

1.导出一个带光照贴图 和 Fog的场景的Assetbundle资源(依赖到的shader单独导出,PC平台)

2.在一个新的场景里加载上述导出的场景资源,查看 加载的场景是否有灯光和雾效果。


第一种导出场景的设置:


projectsetting -> graphicsetting 下的shader 剥离都设置为自动。

实验1:

在一个不含光照贴图和雾的空场景中导出资源,如下:


实验结果,光照贴图和雾效果均丢失。

实验2:

在上一次试验之后,导出的资源不删除,然后打开导出的带光照贴图和雾效果的场景,在该场景执行导出操作,发现没有资源导出,结果依旧是光照和雾均丢失。

实验3:

删除上一次导出的scene文件夹(存放shader以外的资源),然后打开打出的场景,在该场景执行导出操作,发现有资源导出,依旧是光照和雾均丢失。

实验4:

删除上一次导出的shader文件夹(存放shader以外的资源),然后打开打出的场景,在该场景执行导出操作,发现有资源导出,下载之后发现光照贴图和雾都好了。

实验5:

删除导出的所有资源,然后打开打出的场景,在该场景执行导出操作,发现有资源导出,下载之后发现光照贴图和雾都好了。

第二种导出场景的设置:

(lightmapmode fogmode 和需要导出的场景用到的模式一样)

实验6:

删除所有导出的资源,在一个不含光照贴图和雾的空场景中导出资源,下载之后发现光照贴图和雾都是好的。


实验结论:

当shader stripping(shader剥离)设置的是自动,如果你在空场景中导出场景资源,会导致导出的其他场景资源的光照贴图和雾丢失,只有打开你需要导出的场景,让unity识别到你当前用到的光照贴图和雾的模式,并且把之前导出的错误的shader资源删掉(依赖导出资源,值改设置无法让unity重新导出shader),unity才能重新正确的导出带光照贴图和雾的场景和shader资源。当shader stripping设置为手动,并且选择了需要导出的场景用到的模式后,那就不必关注在哪种场景中导出。这里只测试了shader剥离导致的shader丢失。




  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值