Unity毕设BUG测试踩坑集合

  1. 场景切换后灯光显示不正常,昏暗问题
    Unity中light窗口没有去勾Auto Generate并且点击Generate Light
    参考https://blog.csdn.net/qq_41731829/article/details/82563662

  2. 主线关卡未解锁的情况下,能点击关卡按钮进入游戏
    关卡解锁参考https://blog.csdn.net/qq_25678319/article/details/79504387
    确保把未开启关卡的按钮禁用

    levelButton[i].GetComponent<Image>().raycastTarget = false;
  1. 发布exe重进游戏发现游戏进度只保留了解锁关卡进度,并没有保存每关对应的关卡等级
    PlayerPref类只能保存单个数据,储存数组必须使用PlayerPrefX类
    PlayerPrefX类参考https://blog.csdn.net/chenluwolf/article/details/19804963#commentBox

  2. Unity中NullReferenceException: (null) UnityEditor.SerializedObject…ctor (UnityEngine.Object[] 问题
    重启Unity,参考https://blog.csdn.net/u012740992/article/details/46808857

  3. 在PlayerPrefX类中直接更改某个数,前面已储存的数据会消失,数据没有正确储存
    必须遵循先读后写原则,先用普通数组把PlayerPrefX所需数组记录下来,在普通数组中更改某个数,再把普通数组赋值给PP中所需数组

  4. 【坑】mixamo下载的模型不能动
    Animation Type是否为人形?是否拥有通用的人物模型?人物模型是否为fbx格式?

  5. 【坑】无法对场景中的prefab预制体赋值
    预制体只能使用预制体进行赋值

  6. NavMeshAgent设点后一直往目标点凑,直到站在目标点上
    寻路组件的StopDistance数值不能为0

  7. 【隐藏坑】利用Random随机派发事件,最后一个事件不会执行
    当ab为整数时,Random.Range(a,b)相当于数学概念上的[a,b),不包含最后一个数
    当ab为浮点数,Random.Range(a,b)相当于数学概念上的[a,b],包含最后一个数

  8. 运行unity时animator报错空指引
    因为动画添加了事件帧,删除事件帧

  9. warningImageArr[]出现空指引null reference
    没有实例化private Image[] warningImageArr;
    改为private Image[] warningImageArr=new Image[5];

  10. 关卡1结束返回主界面,主界面卡住不动,无法进行翻页效果
    把TimeScale设为0了,场景不同也会受影响

  11. 【大坑】unity中运行没有任何报错,但打包发布成exe后出bug,游戏结束界面没有正常弹出
    使用PlayerPrefX作数据储存,获取数据时必须先定义赋值,保证数据存在
    由于游戏在unity中不断地测试,unity中早已有数据存储,所以不会报错
    但当生成exe后,本地没有数据,所以出BUG,紧接着数据存取的代码都没有执行

grade = PlayerPrefsX.GetIntArray("starGrade",0,50);//例子:当数据不存在时,先赋值50个0
  1. Camera报错提示超出屏幕
    重建Camera,记得把tag选为MainCamera

  2. 合成生成的新角色无法进行拖拽
    预制体Layer层没有设置为Drag

  3. 计算CD冷却时间差方法(单位:s)
    离开场景时,把此时时间记录下来为离开时间。
    回到场景中,时间差 = 此时时间 - 离开时间。
    若时间差>所需CD时间,冷却结束;
    若时间差<所需CD时间,冷却继续,剩下的CD时间 = 所需CD时间 - 时间差。

		/记录离开时间
        string time1 = DateTime.Now.ToString("HH:mm:ss");//!!格式很重要时:分:秒
        PlayerPrefs.SetString("lastTime", time1);
	void CountReamainTime()     //计算还需冷却时间
    {
        if (PlayerPrefs.HasKey("lastTime")==true)
        {
            DateTime t2 = DateTime.Now;
            string time1 = PlayerPrefs.GetString("lastTime");
            DateTime t1 = Convert.ToDateTime(time1);
            TimeSpan ts11 = new TimeSpan(t1.Ticks);
            TimeSpan ts22 = new TimeSpan(t2.Ticks);
            double diff = ts22.Subtract(ts11).TotalSeconds; //挂机时间

            timeCDArray = PlayerPrefsX.GetFloatArray("timeCDArray", 0, 50);
            float lastTimeCD = timeCDArray[type];           //历史还需冷却时间

            remainTime =lastTimeCD  - (float)diff;          //历史还需冷却时间 - 挂机时间
        }
    }
  1. NPC只能旋转无法移动
    把use Gravity去勾,取消重力

  2. Camera在摇杆移动时没有跟随人物移动
    摇杆使用的OnMove()不会进行Update,需要把人物的transform传值写入Update中

  3. NPC人物模型下陷问题
    Character Controller角色控制器的Height设置问题,高度越短越容易下

  4. Unity运行时没有声音
    Game面板中Mute Audio是否按压了下去?

  5. 发布手机端后出现闪退情况
    尝试利用Unity Remote5软件进行真机同步测试,可能是因为游戏过程中出现了空指引(我讨厌空指引)

  6. 横屏时固定镜头铺满屏幕(UGUI)
    canva的match属性设置height为1
    再加上固定镜头比例的代码

public class CameraSize : MonoBehaviour {

	private  Camera mainCamera;

      void Start()
      {
         mainCamera=this.gameObject.GetComponent<Camera>();
         mainCamera.aspect = 1.6f;//1280*800为1280/800=1.6
     }
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值