public void CalculateJointMatrix(ISkeleton baseFrame) { if (this.JointMatrixSet) { return; } this.JointMatrix = Matrix.Scaling(this.Scale); this.JointMatrix *= Matrix.RotationQuaternion(this.Orientation); this.JointMatrix *= Matrix.Translation(this.Position); this.JointMatrix = baseFrame.GetBoneById(this.Id).InverseJointMatrix * this.JointMatrix; this.JointMatrixSet = true; }
public void CalculateJointMatrix(ISkeleton baseFrame) { if (this.JointMatrixSet) { return; } this.JointMatrix = Matrix.Scaling(this.Scale); this.JointMatrix *= Matrix.RotationQuaternion(this.Orientation); this.JointMatrix *= Matrix.Translation(this.Position); this.JointMatrix = baseFrame.GetBoneById(this.Id).InverseJointMatrix *this.JointMatrix; this.JointMatrixSet = true; }