unity 打包出现的一些问题

# 如何对于development build 进行debug
Development Build 开了以后。。下面的才能有用 auto connectprofiler 开启后,才能性能分析 Script Debugging 开启后,能代码调试

vsstudio->调试->附加Unity调试程序

# 安卓模拟器不能用的原因

在inspector视图下的Other Settings框内,即可找到Device Filter,选择x86,则最终构建出来x86平台的APK包,unity android配置和之前版本完全一样,这里就不再赘述了。
同理。。模拟器也可以像上面那样调试

# 如何建立spriteatlas和spriteatlas丢失的问题(打包为apriteatlas的sprite都不能显示)

  • 注意建立的spriteatlas不要超过两张…否则会有问题..
  • 检查address是否引用了不存在的apriteatlas
  • 如果有发现sprite不能显示(但是spriteatlas已经加载).这个时候重新设置该sprite的绿线就可以了…(原因未知…unity的bug)

# shader丢失

问题:

  1. 把shader打包到每一个使用它的AssetBundle 中去,这样就会同时存在多个一样的shader,并在运行时产生多个shader实例。
  2. Unity打包后的Shader是平台相关的 , 这个时候需要重新指定一下Shader,即遍历所有的Render把Material的Shader重新附下值。 (所以使用内置shader即使被打包进包体..也会出现shader丢失问题)
  3. unity打包的时候会打包一些默认shader(很多)到包体中..存在于
    unity_builtin_extra
  4. unity打包的时候还会把Always Included Shaders中的shader打到包体中

解决方案:

  1. Always Inclued Shaders建议全部置空 ,减少包体大小
  2. 官网下载内置Shader包放在工程目录内,对这些Shader(还有自定义Shader)打公共依赖包,这样才能在打资源AB的时候不产生Shader文件的臃余。

切换场景黑屏问题

# 如何建立assetbundler的local assets。和remote assets?

# adress打包unity奔溃的原因

1. 嵌套的prefab丢失会造成这个问题

发表评论