UNPKG

@tolokoban/tgd

Version:

ToloGameDev library for WebGL2

27 lines 2.9 kB
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