UNPKG

@tolokoban/tgd

Version:

ToloGameDev library for WebGL2

21 lines 2.57 kB
import { tgdCalcMix } from "../math.js"; export function tgdActionCreateTransfoInterpolation(transfo, transfoAtT0, transfoAtT1) { const beginTransfo = transfo.clone().from(transfoAtT0); const distanceAt0 = beginTransfo.distance; const positionAt0 = beginTransfo.position.clone(); const scaleAt0 = beginTransfo.scale.clone(); const orientationAt0 = beginTransfo.orientation.clone(); const endTransfo = transfo.clone().from(transfoAtT1); const orientationAt1 = endTransfo.orientation.clone(); const positionAt1 = endTransfo.position.clone(); const scaleAt1 = endTransfo.scale.clone(); const distanceAt1 = endTransfo.distance; return (t) => { transfo.distance = tgdCalcMix(distanceAt0, distanceAt1, t); transfo.position.fromMix(positionAt0, positionAt1, t); transfo.scale.fromMix(scaleAt0, scaleAt1, t); transfo.orientation.fromSlerp(orientationAt0, orientationAt1, t); transfo.updateMatrix(); }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9hY3Rpb24vdHJhbnNmby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBRXBDLE1BQU0sVUFBVSxtQ0FBbUMsQ0FDL0MsT0FBbUIsRUFDbkIsV0FBd0UsRUFDeEUsV0FBd0U7SUFFeEUsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUN0RCxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFBO0lBQ3pDLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDakQsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUMzQyxNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFBO0lBRXZELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDcEQsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUNyRCxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQy9DLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDekMsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQTtJQUV2QyxPQUFPLENBQUMsQ0FBUyxFQUFFLEVBQUU7UUFDakIsT0FBTyxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUMxRCxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQ3JELE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDNUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUNoRSxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUE7SUFDMUIsQ0FBQyxDQUFBO0FBQ0wsQ0FBQyJ9