了解Threejs中的Clock对象以及简单应用

2021-12-02  本文已影响0人  fx67ll

什么是Clock对象

如果你对 JavaScript 有一定了解,那么 JavaScript 的时间对象 Date 你一定不陌生,Clock 本质上就是对 Date 进行封装,提供了一些方法和属性

当你通过 Threejs 编写一些和时间相关程序时候,不用在对 Date 进行封装,直接调用 Clock 对象的方法和属性即可

Clock对象的主要属性和方法

常用方法:getDelta()

简单的应用场景:对 Threejs 渲染方式的理解

// 创建一个时钟对象Clock
var clock = new THREE.Clock();
// 创建渲染函数
function render() {
    //执行渲染方法,渲染出来一帧图像
    renderer.render(scene, camera);
    
    //周期性执行渲染函数
    requestAnimationFrame(render);
    
    //clock.getDelta()方法获得两帧的时间间隔,返回时间单位:秒
    var T = clock.getDelta();
    
    console.log('两帧渲染时间间隔',T*1000+'毫秒');
    console.log('查看每秒渲染频率',1/T);
}
render();

关于requestAnimationFrame()方法

使用setInterval()requestAnimationFrame()方法绘制的优劣

在vue中使用requestAnimationFrame()方法

一定要传入函数名而不是带上立即执行符号,如requestAnimationFrame(this.animate)即可

参考文档 ———— Three.js Clock

我是 fx67ll.com,如果您发现本文有什么错误,欢迎在评论区讨论指正,感谢您的阅读!
如果您喜欢这篇文章,欢迎访问我的 本文github仓库地址,为我点一颗Star,Thanks~ :)
转发请注明参考文章地址,非常感谢!!!

上一篇下一篇

猜你喜欢

热点阅读