@tolokoban/tgd
Version:
ToloGameDev library for WebGL2
27 lines • 2.9 kB
JavaScript
import { TgdTransfo } from "./../../math/index.js";
import { tgdCalcMix } from "../math.js";
export function tgdActionCreateTransfoInterpolation(transfo, target) {
const distance = transfo.distance;
const position = transfo.position.clone();
const scale = transfo.scale.clone();
const orientation = transfo.orientation.clone();
const endTransfo = target instanceof TgdTransfo
? target
: new TgdTransfo(Object.assign({ distance,
position,
scale,
orientation }, target));
const endOrientation = endTransfo.orientation.clone();
const endPosition = endTransfo.position.clone();
const endScale = endTransfo.scale.clone();
const endDistance = endTransfo.distance;
console.log("🚀 [transfo] target =", target); // @FIXME: Remove this line written on 2025-03-30 at 15:24
return (t) => {
transfo.distance = tgdCalcMix(distance, endDistance, t);
transfo.position.fromMix(position, endPosition, t);
transfo.scale.fromMix(scale, endScale, t);
transfo.orientation.fromSlerp(orientation, endOrientation, t);
transfo.position.debug();
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9hY3Rpb24vdHJhbnNmby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFxQixNQUFNLFdBQVcsQ0FBQTtBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBRXBDLE1BQU0sVUFBVSxtQ0FBbUMsQ0FDL0MsT0FBbUIsRUFDbkIsTUFBbUU7SUFFbkUsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQTtJQUNqQyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ3pDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDbkMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUMvQyxNQUFNLFVBQVUsR0FDWixNQUFNLFlBQVksVUFBVTtRQUN4QixDQUFDLENBQUMsTUFBTTtRQUNSLENBQUMsQ0FBQyxJQUFJLFVBQVUsaUJBQ1YsUUFBUTtZQUNSLFFBQVE7WUFDUixLQUFLO1lBQ0wsV0FBVyxJQUNSLE1BQU0sRUFDWCxDQUFBO0lBQ1osTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUNyRCxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQy9DLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDekMsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQTtJQUN2QyxPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyxDQUFBLENBQUMsMERBQTBEO0lBRXZHLE9BQU8sQ0FBQyxDQUFTLEVBQUUsRUFBRTtRQUNqQixPQUFPLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQ3ZELE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDbEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUN6QyxPQUFPLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQzdELE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDNUIsQ0FBQyxDQUFBO0FBQ0wsQ0FBQyJ9