• 记住这些unity的坑,让程序员多活几年


    为了苦逼的程序员们少加点班,分享一些在项目开发过程中遇到的一些坑

    我使用的环境是unity 5.6.3p3  版本管理是 git

    (1) 虽然大家都知道 unity 用的序列化方式是 yaml(读音90% 的会读错~~!),但是unity 基于yaml 有三种方式,文本方式 二进制方式 和混合模式

    它坑在哪个地方呢? 两者互相转换的时候,不是完全可逆的,git 会识别出来,文本转二进制 ,然后二进制转文本 ,会多了一些yaml的版本号描述(别说我挑剔,我这就是这样的人~~!)

    (2)unity 5 两次对相同的资源打包出来的assetbundle 是不一样的(unity很早官方已经知道啦,但就是不愿意改,从没有见过如此厚颜无耻的引擎,一线的开发人员总给你擦屁股....),怎么办呢? 自己通过生成出来的manifest  分析依赖文件自身的md5,如果unity 自己擅自把assetbundle 重新生成啦,一旦发现,拒绝提交版本库

    (3)材质球A,用shader B ,材质球 引用了贴图C,然后A 换shader,从B换成C,C 上用了新的贴图D,你在查看A的引用的时候,你会发现A引用的 C 和D,unity 有神奇的记忆功能,unity会记住你在材质球上的历史记录,这会导致你的assetbundle 非常大

    (4)unity 很多的时候,自作聪明,新建一个粒子,会指认默认的材质球,而且材质球用的是standardShaer(移动平台从来不用的shader),一旦疏漏 standardShader,assetbundle 的大小会变大

    (5)这是我一个同事说的:LOD level 如果在shader 里面没有实现,在给shader 切换LOD的时候,unity 在手机上就会崩溃

    (6) unity 在il2cpp 的时候 有个选项,决定是否要strip引擎代码,但是 如果选择strip,但是resources 文件夹里面一个animator controller的资源 都没有话 ,如果在手机上运行时加载 带有animator controller 的ab,就会卡死,这种s 级的bug ,unity 居然没有修复,真的是奇葩引擎

    ps:(百度游戏的sdk,在点击浮窗的时候,会暗地里面的改手机的分辨率,有些手机就直接崩溃啦,太阴险啦,程序员不要为难程序员)

  • 相关阅读:
    自相关函数 互相关函数 平稳随机过程
    MC323发短信程序+MSP430F149
    labview notes
    DSSS FHSS
    dBm与功率(w)换算关系!
    int 正负相乘
    51单片机 1602液晶显示
    51单片机 AD转换
    51单片机 蜂鸣器
    51单片机 串口通信
  • 原文地址:https://www.cnblogs.com/zyc-it/p/8344603.html
Copyright © 2020-2023  润新知