2021SC@SDUSC
目录
一、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,其可以理解为完成上一帧所需时间或是说两帧之间的间隔时间。所以将速度(每秒移动的距离