找回密码
 立即注册
查看: 220|回复: 0

Unity编辑器与真机效果表现不一致问题汇总

[复制链接]
发表于 2022-12-4 09:30 | 显示全部楼层 |阅读模式
我么项目在进入到打包测试阶段经常遇到真机上的表现与编辑器不一致的情况, 说一千道一万反正就是对引擎不够熟悉导致的.
1. 真机上不显示对应的粒子特效了

这种情况一般是粒子mesh关闭了read/write属性, 编辑器会警告但依旧显示,真机就不显示了
2.  真机 上的shader表现跟编辑器不一样,丢失了部分开关控制的效果

注意下shader是否用了变体,如果变体没有打包进去那么就会使用默认的变体shader.通常出现在代码控制变体开关或者通过热更增加美术资源但是模型跟shader打包的时候ab分开了. 这里可以使用Shader variants collection
3. 真机上模型效果变红,但是编辑器没有任何问题

效果变红就是材质丢失或者shader报错了. 渲染器材质丢失这个好判断一般会两遍同时出错, shader变红很有可能是打包机上shader缓存导致(尤其是shader的引用文件位置变化), 直接去打包机上重新reimport所有shader相关资源即可
4. 真机上顶点动画运行一段时间后出现断断续续的表现

这个一般是数据精度导致的,time相关变量需要设置为float.测试发现苹果设备容易出现这个问题,android高中低反而没这个问题
5. 真机和编辑器显示图像倒转问题

很多小伙伴会使用UNITY_UV_STARTS_AT_TOP判断屏幕坐标的原点位置来区分,但这并不对.问题出在 顶点shader中都会设置投影坐标,但是这个并是不是最后的屏幕坐标,安卓平台和PC平台的裁剪空间的z轴方向相反, 使用_ProjectionParams.x可以判断的,投影矩阵反转时是-1,否则是1。或者直接使用ComputeScreenPos方法即可
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-13 16:49 , Processed in 0.090410 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表