Insanity
This commit is contained in:
parent
74dc8e1101
commit
d4cc86768e
@ -2,6 +2,7 @@ namespace animationStation {
|
|||||||
|
|
||||||
const warning = utility.warning;
|
const warning = utility.warning;
|
||||||
const Quaternion = utility.Quaternion;
|
const Quaternion = utility.Quaternion;
|
||||||
|
const create3d = vector.create3d;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is the base of the animation for players.
|
* This is the base of the animation for players.
|
||||||
@ -104,6 +105,73 @@ namespace animationStation {
|
|||||||
let rotationEnd = new Quaternion(vector.create3d(0, math.pi, 0));
|
let rotationEnd = new Quaternion(vector.create3d(0, math.pi, 0));
|
||||||
let workerRotation = new Quaternion(vector.create3d(0, 0, 0));
|
let workerRotation = new Quaternion(vector.create3d(0, 0, 0));
|
||||||
let workerVec = vector.create3d(0, 0, 0);
|
let workerVec = vector.create3d(0, 0, 0);
|
||||||
|
/**
|
||||||
|
* And the final processor, this guy.
|
||||||
|
*/
|
||||||
|
class BoneOverrideWorker {
|
||||||
|
override: BoneOverride = {
|
||||||
|
position: {
|
||||||
|
vec: create3d(0, 0, 0),
|
||||||
|
interpolation: 0,
|
||||||
|
absolute: false
|
||||||
|
},
|
||||||
|
rotation: {
|
||||||
|
vec: create3d(0, 0, 0),
|
||||||
|
interpolation: 0,
|
||||||
|
absolute: false
|
||||||
|
},
|
||||||
|
scale: {
|
||||||
|
vec: create3d(1, 1, 1),
|
||||||
|
interpolation: 0,
|
||||||
|
absolute: true
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
identity(): void {
|
||||||
|
if (this.override.position != null) {
|
||||||
|
this.override.position.vec.x = 0;
|
||||||
|
this.override.position.vec.y = 0;
|
||||||
|
this.override.position.vec.z = 0;
|
||||||
|
}
|
||||||
|
if (this.override.rotation != null) {
|
||||||
|
this.override.rotation.vec.x = 0;
|
||||||
|
this.override.rotation.vec.y = 0;
|
||||||
|
this.override.rotation.vec.z = 0;
|
||||||
|
}
|
||||||
|
if (this.override.scale != null) {
|
||||||
|
this.override.scale.vec.x = 1;
|
||||||
|
this.override.scale.vec.y = 1;
|
||||||
|
this.override.scale.vec.z = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
setPosition(vec: Vec3): void {
|
||||||
|
if (this.override.position == null) {
|
||||||
|
error("Position went null in bone override worker.");
|
||||||
|
}
|
||||||
|
this.override.position.vec.x = vec.x;
|
||||||
|
this.override.position.vec.y = vec.y;
|
||||||
|
this.override.position.vec.z = vec.z;
|
||||||
|
}
|
||||||
|
setRotation(vec: Vec3): void {
|
||||||
|
if (this.override.rotation == null) {
|
||||||
|
error("Rotation went null in bone override worker.");
|
||||||
|
}
|
||||||
|
this.override.rotation.vec.x = vec.x;
|
||||||
|
this.override.rotation.vec.y = vec.y;
|
||||||
|
this.override.rotation.vec.z = vec.z;
|
||||||
|
}
|
||||||
|
setScale(vec: Vec3): void {
|
||||||
|
if (this.override.scale == null) {
|
||||||
|
error("Scale went null in bone override worker.");
|
||||||
|
}
|
||||||
|
this.override.scale.vec.x = vec.x;
|
||||||
|
this.override.scale.vec.y = vec.y;
|
||||||
|
this.override.scale.vec.z = vec.z;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let boneOverrideWorker: BoneOverrideWorker = new BoneOverrideWorker();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Animation Repository holds all the animations for all bones on all models.
|
* Animation Repository holds all the animations for all bones on all models.
|
||||||
@ -327,9 +395,11 @@ namespace animationStation {
|
|||||||
error("Forgot to register character.b3d with AnimationStation for players!");
|
error("Forgot to register character.b3d with AnimationStation for players!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
boneOverrideWorker.identity();
|
||||||
|
|
||||||
for (const bone of boneArray) {
|
for (const bone of boneArray) {
|
||||||
print(bone);
|
print(bone);
|
||||||
player.set_bone_override(bone, workerAnimationPointEnd);
|
player.set_bone_override(bone, boneOverrideWorker.override);
|
||||||
}
|
}
|
||||||
|
|
||||||
currentAnimationState.animationProgress = 0;
|
currentAnimationState.animationProgress = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user