unity update 协程_Unity中的协程理解

本文介绍了Unity中的协程使用,包括WaitForSeconds, WaitForSecondsRealtime, WaitForEndOfFrame, WaitForFixedUpdate以及WaitUntil和WaitWhile的用法。强调了协程的性能影响以及如何通过它们来优化帧率。协程在yield语句上暂停,注意会受Time.timeScale影响,而WaitForSecondsRealtime不受时间缩放影响。此外,WaitUntil和WaitWhile根据委托返回值控制协程执行。" 124380651,7493726,水声通信:超短基线定位原理解析,"['信号处理', '通信技术', '水下通信', '定位系统', '声纳技术']
摘要由CSDN通过智能技术生成

前言

Unity中的协程经常会用到,可能大家也听过启动协程带来额外的开销成本大约是标准函数调用的三倍,还会分配一些内存,将当前状态存储在内存中,直到下一次调用它,因此要谨慎的使用。

禁用组件无法使初始化的协程停止:协程的运行独立于MonoBehaviour组件中Update()回调的触发,不管组件是否禁用,都将继续调用协程

禁用GameObject会停止协程:包含协程的GameObject变成不活动的那一刻自动停止,但是GameObject再次设置为活动时协程不会自动重启

处理性能优化:即由于在给定的帧中调用该方法的次数太多而导致帧率超出预算可以使用协程减少调用次数,减少帧中的性能损失

方法介绍

yield return new WaitForSeconds(time);

协程在yield语句上暂停指定的秒数,但是它不是一个精准的计时器,所以当这个yield语句上暂停指定的秒数,会有少量变化

而且要注意,会受到Time.timeScale 产生时间缩放,可以做慢动作效果

IEnumerator TestIEnumerator()

{

yield return new WaitForSeconds(3f);

}

yield return new WaitForSecondsRealtime(time);

协程在yield语句上暂停指定的秒数,但是它不是一个精准的计时器,所以当这个yield语句上暂停指定的秒数,会有少量变化

和WaitForSeconds

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值