mocap_debug = {
let res = mocap_raw[0];
let attrs = mocap_raw[1];
let boneAttrs = attrs.slice(2);
let boneCount = boneAttrs.length / 7;
let row = timestep;
let vec_res = [];
for (let i = 0; i < boneCount; i++) {
let offset = i * 7;
let specBoneAttrs = boneAttrs.slice(offset, offset + 7);
let quaternion = new THREE.Quaternion();
quaternion.w = res[row][specBoneAttrs[3]];
quaternion.x = res[row][specBoneAttrs[0]];
quaternion.y = res[row][specBoneAttrs[1]];
quaternion.z = res[row][specBoneAttrs[2]];
let vector = new THREE.Vector3(1, 0, 0);
vector.x = res[row][specBoneAttrs[4]];
vector.y = res[row][specBoneAttrs[5]];
vector.z = res[row][specBoneAttrs[6]];
let unmodified = new THREE.Vector3(0, 0, 0);
unmodified.copy(vector);
vec_res.push({
x: vector.x,
y: vector.y,
z: vector.z,
name: specBoneAttrs[0].split("_")[0],
attrs: specBoneAttrs,
unmodifiedVector: unmodified,
quaternion
});
}
return [res[row], vec_res];
}