|
@@ -35,6 +35,10 @@
|
|
public vector3InterpolateFunction(startValue: Vector3, endValue: Vector3, gradient: number): Vector3 {
|
|
public vector3InterpolateFunction(startValue: Vector3, endValue: Vector3, gradient: number): Vector3 {
|
|
return BABYLON.Vector3.Lerp(startValue, endValue, gradient);
|
|
return BABYLON.Vector3.Lerp(startValue, endValue, gradient);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ public vector2InterpolateFunction(startValue: Vector2, endValue: Vector2, gradient: number): Vector2 {
|
|
|
|
+ return BABYLON.Vector2.Lerp(startValue, endValue, gradient);
|
|
|
|
+ }
|
|
|
|
|
|
public color3InterpolateFunction(startValue: Color3, endValue: Color3, gradient: number): Color3 {
|
|
public color3InterpolateFunction(startValue: Color3, endValue: Color3, gradient: number): Color3 {
|
|
return BABYLON.Color3.Lerp(startValue, endValue, gradient);
|
|
return BABYLON.Color3.Lerp(startValue, endValue, gradient);
|
|
@@ -101,6 +105,15 @@
|
|
case Animation.ANIMATIONLOOPMODE_RELATIVE:
|
|
case Animation.ANIMATIONLOOPMODE_RELATIVE:
|
|
return this.vector3InterpolateFunction(startValue, endValue, gradient).add(offsetValue.scale(repeatCount));
|
|
return this.vector3InterpolateFunction(startValue, endValue, gradient).add(offsetValue.scale(repeatCount));
|
|
}
|
|
}
|
|
|
|
+ // Vector2
|
|
|
|
+ case Animation.ANIMATIONTYPE_VECTOR2:
|
|
|
|
+ switch (loopMode) {
|
|
|
|
+ case Animation.ANIMATIONLOOPMODE_CYCLE:
|
|
|
|
+ case Animation.ANIMATIONLOOPMODE_CONSTANT:
|
|
|
|
+ return this.vector2InterpolateFunction(startValue, endValue, gradient);
|
|
|
|
+ case Animation.ANIMATIONLOOPMODE_RELATIVE:
|
|
|
|
+ return this.vector2InterpolateFunction(startValue, endValue, gradient).add(offsetValue.scale(repeatCount));
|
|
|
|
+ }
|
|
// Color3
|
|
// Color3
|
|
case Animation.ANIMATIONTYPE_COLOR3:
|
|
case Animation.ANIMATIONTYPE_COLOR3:
|
|
switch (loopMode) {
|
|
switch (loopMode) {
|
|
@@ -180,6 +193,9 @@
|
|
// Vector3
|
|
// Vector3
|
|
case Animation.ANIMATIONTYPE_VECTOR3:
|
|
case Animation.ANIMATIONTYPE_VECTOR3:
|
|
this._offsetsCache[keyOffset] = toValue.subtract(fromValue);
|
|
this._offsetsCache[keyOffset] = toValue.subtract(fromValue);
|
|
|
|
+ // Vector2
|
|
|
|
+ case Animation.ANIMATIONTYPE_VECTOR2:
|
|
|
|
+ this._offsetsCache[keyOffset] = toValue.subtract(fromValue);
|
|
// Color3
|
|
// Color3
|
|
case Animation.ANIMATIONTYPE_COLOR3:
|
|
case Animation.ANIMATIONTYPE_COLOR3:
|
|
this._offsetsCache[keyOffset] = toValue.subtract(fromValue);
|
|
this._offsetsCache[keyOffset] = toValue.subtract(fromValue);
|
|
@@ -209,6 +225,10 @@
|
|
case Animation.ANIMATIONTYPE_VECTOR3:
|
|
case Animation.ANIMATIONTYPE_VECTOR3:
|
|
offsetValue = Vector3.Zero();
|
|
offsetValue = Vector3.Zero();
|
|
break;
|
|
break;
|
|
|
|
+ // Vector2
|
|
|
|
+ case Animation.ANIMATIONTYPE_VECTOR2:
|
|
|
|
+ offsetValue = Vector2.Zero();
|
|
|
|
+ break;
|
|
// Color3
|
|
// Color3
|
|
case Animation.ANIMATIONTYPE_COLOR3:
|
|
case Animation.ANIMATIONTYPE_COLOR3:
|
|
offsetValue = Color3.Black();
|
|
offsetValue = Color3.Black();
|
|
@@ -250,6 +270,7 @@
|
|
private static _ANIMATIONTYPE_QUATERNION = 2;
|
|
private static _ANIMATIONTYPE_QUATERNION = 2;
|
|
private static _ANIMATIONTYPE_MATRIX = 3;
|
|
private static _ANIMATIONTYPE_MATRIX = 3;
|
|
private static _ANIMATIONTYPE_COLOR3 = 4;
|
|
private static _ANIMATIONTYPE_COLOR3 = 4;
|
|
|
|
+ private static _ANIMATIONTYPE_VECTOR2 = 5;
|
|
private static _ANIMATIONLOOPMODE_RELATIVE = 0;
|
|
private static _ANIMATIONLOOPMODE_RELATIVE = 0;
|
|
private static _ANIMATIONLOOPMODE_CYCLE = 1;
|
|
private static _ANIMATIONLOOPMODE_CYCLE = 1;
|
|
private static _ANIMATIONLOOPMODE_CONSTANT = 2;
|
|
private static _ANIMATIONLOOPMODE_CONSTANT = 2;
|
|
@@ -262,6 +283,10 @@
|
|
return Animation._ANIMATIONTYPE_VECTOR3;
|
|
return Animation._ANIMATIONTYPE_VECTOR3;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public static get ANIMATIONTYPE_VECTOR2(): number {
|
|
|
|
+ return Animation._ANIMATIONTYPE_VECTOR2;
|
|
|
|
+ }
|
|
|
|
+
|
|
public static get ANIMATIONTYPE_QUATERNION(): number {
|
|
public static get ANIMATIONTYPE_QUATERNION(): number {
|
|
return Animation._ANIMATIONTYPE_QUATERNION;
|
|
return Animation._ANIMATIONTYPE_QUATERNION;
|
|
}
|
|
}
|