lingo3d
Version:
Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor
20 lines • 818 B
JavaScript
import scene from "../../engine/scene";
import { quaternion } from "./reusables";
export const worldToLocalQuaternion = (target, worldQuaternion) => {
let parents = target.userData.parents;
if (!parents) {
parents = target.userData.parents = [];
let parent = target.parent;
while (parent && parent !== scene) {
parents.push(parent);
parent = parent.parent;
}
parents.reverse();
}
for (const parent of parents)
worldQuaternion.premultiply(quaternion.copy(parent.quaternion).invert());
return worldQuaternion;
};
export const diffQuaternions = (from, to) => from.clone().invert().multiply(to);
export const complementQuaternion = (to, diff) => to.multiply(quaternion.copy(diff).invert());
//# sourceMappingURL=quaternions.js.map