2021SC@SDUSC
目录
Field.js(Field)
var Field = Base.extend({}, {
applyTo: function(velocity, position, weight, deltaTime) {}
});
继承Base的定义函数applyTo()的类;
ForceField.js(ForceField)
var ForceField = Field.extend(function() {
return {
force: new Vector3()
};
}, {
applyTo: function(velocity, position, weight, deltaTime) {
if (weight > 0) {
vec3.scaleAndAdd(velocity.array, velocity.array, this.force.array, deltaTime / weight);
}
}
});
定义类型为三维向量的力;
applyTo(...)
参数为粒子的速度、位置、重量以及增量时间;
若粒子有重量, 则根据相应参数修改速度数组。
涉及到ve3里的scaleAndAdd函数: