-
场景切换后灯光显示不正常,昏暗问题
Unity中light窗口没有去勾Auto Generate并且点击Generate Light
参考https://blog.csdn.net/qq_41731829/article/details/82563662 -
主线关卡未解锁的情况下,能点击关卡按钮进入游戏
关卡解锁参考https://blog.csdn.net/qq_25678319/article/details/79504387
确保把未开启关卡的按钮禁用
levelButton[i].GetComponent<Image>().raycastTarget = false;
-
发布exe重进游戏发现游戏进度只保留了解锁关卡进度,并没有保存每关对应的关卡等级
PlayerPref类只能保存单个数据,储存数组必须使用PlayerPrefX类
PlayerPrefX类参考https://blog.csdn.net/chenluwolf/article/details/19804963#commentBox -
Unity中NullReferenceException: (null) UnityEditor.SerializedObject…ctor (UnityEngine.Object[] 问题
重启Unity,参考https://blog.csdn.net/u012740992/article/details/46808857 -
在PlayerPrefX类中直接更改某个数,前面已储存的数据会消失,数据没有正确储存
必须遵循先读后写原则,先用普通数组把PlayerPrefX所需数组记录下来,在普通数组中更改某个数,再把普通数组赋值给PP中所需数组 -
【坑】mixamo下载的模型不能动
Animation Type是否为人形?是否拥有通用的人物模型?人物模型是否为fbx格式? -
【坑】无法对场景中的prefab预制体赋值
预制体只能使用预制体进行赋值 -
NavMeshAgent设点后一直往目标点凑,直到站在目标点上
寻路组件的StopDistance数值不能为0 -
【隐藏坑】利用Random随机派发事件,最后一个事件不会执行
当ab为整数时,Random.Range(a,b)相当于数学概念上的[a,b),不包含最后一个数
当ab为浮点数,Random.Range(a,b)相当于数学概念上的[a,b],包含最后一个数 -
运行unity时animator报错空指引
因为动画添加了事件帧,删除事件帧 -
warningImageArr[]出现空指引null reference
没有实例化private Image[] warningImageArr;
改为private Image[] warningImageArr=new Image[5]; -
关卡1结束返回主界面,主界面卡住不动,无法进行翻页效果
把TimeScale设为0了,场景不同也会受影响 -
【大坑】unity中运行没有任何报错,但打包发布成exe后出bug,游戏结束界面没有正常弹出
使用PlayerPrefX作数据储存,获取数据时必须先定义赋值,保证数据存在
由于游戏在unity中不断地测试,unity中早已有数据存储,所以不会报错
但当生成exe后,本地没有数据,所以出BUG,紧接着数据存取的代码都没有执行
grade = PlayerPrefsX.GetIntArray("starGrade",0,50);//例子:当数据不存在时,先赋值50个0
-
Camera报错提示超出屏幕
重建Camera,记得把tag选为MainCamera -
合成生成的新角色无法进行拖拽
预制体Layer层没有设置为Drag -
计算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; //历史还需冷却时间 - 挂机时间
}
}
-
NPC只能旋转无法移动
把use Gravity去勾,取消重力 -
Camera在摇杆移动时没有跟随人物移动
摇杆使用的OnMove()不会进行Update,需要把人物的transform传值写入Update中 -
NPC人物模型下陷问题
Character Controller角色控制器的Height设置问题,高度越短越容易下 -
Unity运行时没有声音
Game面板中Mute Audio是否按压了下去? -
发布手机端后出现闪退情况
尝试利用Unity Remote5软件进行真机同步测试,可能是因为游戏过程中出现了空指引(我讨厌空指引) -
横屏时固定镜头铺满屏幕(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
}
}