Unity中update与lateupdate使用区别

Unity中Update()与lateUpdate(),记住关键区别Update()理解成立即触发,lateupdate()是随后触发,可以理解成一帧中立刻执行,另外是一帧最后执行,像一些摄像头跟随这种可以用lateUpdate(),但一些像是人物的行为判断要在update()中,要不然可能一个极细微的时间差会报错。比如我的游戏中,AI_Player中通过实时监控血量值来判断ai是否被杀死,如果发现死了就注销身上带的行为树,然后把整个实例从网络中注销。最开始我放在了LateUpdate()中,结果死亡的一瞬间还执行了一些行为,报51个错,这应该就是这一帧中从Update()到lateUpdate()执行的顺序间隔。
void LateUpdate()
{
if (this.photonView.IsMine == true)
{
//if (this.Health <= 0)
//{
// GetComponent().DisableBehavior();//注销树
// PhotonNetwork.Destroy(gameObject);
//}
if (this.Health <= 0.6f)
{
if (gameitemstable.Contains(“ADDBLOOD”))//如果有血瓶,使用,并删除此血瓶
{
//添加使用血瓶的动画 预留
this.Health = 1f;
gameitemstable.Remove(“ADDBLOOD”);
}
}
}

你可能感兴趣的:(游戏开发,unity,Behavior,Designer)