private Vector3 easeInOutQuart()
{
val = this.ratioPassed * 2f;
if (val < 1f) {
val = val * val * val * val;
return new Vector3(this.diffDiv2.x * val + this.from.x, this.diffDiv2.y * val + this.from.y, this.diffDiv2.z * val + this.from.z);
}
val -= 2f;
// val = (val * val * val * val - 2f);
return -this.diffDiv2 * (val * val * val * val - 2f) + this.from;
}