欢迎光临散文网 会员登陆 & 注册

10-Threejs中Clock跟踪时间处理动画

2022-07-31 18:45 作者:老陈打码  | 我要投稿

上一节,我们使用了requestAnimationFrame参数来获取时间,并处理动画。这一节我们使用three.js自带的Clock类实例的对象来完成时间的处理。

1 Clock

该对象用于跟踪时间。如果performance.now可用,则 Clock 对象通过该方法实现,否则回落到使用略欠精准的Date.now来实现。

实例化clock对象,new Clock( autoStart : Boolean ),autoStart — (可选) 是否要在第一次调用 .getDelta() 时自动开启时钟。默认值是 true。

1.1 获取运行当前帧的时间

getElapsedTime ()获取自时钟启动后的秒数。

getDelta () 获取2帧之间的时间间隔。

注意:getDelta、getElapsedTime请勿同时用于同一帧,会导致getDelta计时不准。因为每次调用这2个函数,都会对oldTime属性进行重置,所以getDelta计算出来的就不是上一帧的时间。

2 综合上述代码

1、在前面创建的项目中的main.js文件写入代码,实现每5秒,即从原点出发匀速在x轴进行1m/s的匀速运动

效果演示:





10-Threejs中Clock跟踪时间处理动画的评论 (共 条)

分享到微博请遵守国家法律