UNPKG

@tolokoban/tgd

Version:

ToloGameDev library for WebGL2

21 lines 2.59 kB
import { tgdCalcMix } from "../../math/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9hY3Rpb24vdHJhbnNmby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFNUMsTUFBTSxVQUFVLG1DQUFtQyxDQUMvQyxPQUFtQixFQUNuQixXQUF3RSxFQUN4RSxXQUF3RTtJQUV4RSxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ3RELE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUE7SUFDekMsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUNqRCxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQzNDLE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUE7SUFFdkQsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUNwRCxNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ3JELE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDL0MsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUN6QyxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFBO0lBRXZDLE9BQU8sQ0FBQyxDQUFTLEVBQUUsRUFBRTtRQUNqQixPQUFPLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQzFELE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDckQsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUM1QyxPQUFPLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQ2hFLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQTtJQUMxQixDQUFDLENBQUE7QUFDTCxDQUFDIn0=