2021SC@SDUSC 【软件工程应用与实践】Claygl项目代码分析(三)

本文介绍了deltaTime在Particle.js中的作用,它代表每一帧间的时间差距,用于确保在不同帧率下物体移动的准确性。通过deltaTime,可以将速度乘以时间间隔得到每帧的实际位移,避免因帧率变化导致的渲染问题。Particle.prototype.update函数中,利用deltaTime更新粒子的位置,以实现平滑的动画效果。
摘要由CSDN通过智能技术生成

2021SC@SDUSC

目录

一、Particle.js

Particle.prototype.update


一、Particle.js

Particle.prototype.update

Particle.prototype.update = function(deltaTime) {
    if (this.velocity) {
        vec3.scaleAndAdd(this.position.array, this.position.array, this.velocity.array, deltaTime);
    }
    if (this.angularVelocity) {
        vec3.scaleAndAdd(this.rotation.array, this.rotation.array, this.angularVelocity.array, deltaTime);
    }
};

(1)deltaTime介绍

        如上述代码可见,函数参数有“deltaTime”,称为增量时间。这一概念十分重要故而先说明其含义。delta(即Δ),常用来表示前后变化差距,而deltaTime则是代表了每一帧间时间的差距。

        影视游戏中的渲染是按帧进行的。

        当物体每秒移动30米,即30m/s,若以30帧每秒运行,则每帧的位移为一米;当其以60帧每秒运行时,若是仍按照每帧位移一米,则结果变成60m/s,这是显然错误的。

        故需要deltaTime,其可以理解为完成上一帧所需时间或是说两帧之间的间隔时间。所以将速度(每秒移动的距离࿰

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值