mylingo3d
Version:
Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor
17 lines • 815 B
JavaScript
import { scaleDown } from "../../engine/constants";
import { getCameraRendered } from "../../states/useCameraRendered";
import getWorldPosition from "./getWorldPosition";
import normalizeClientPosition from "./normalizeClientPosition";
import { vector3 } from "./reusables";
import { vec2Point } from "./vec2Point";
export default (clientX, clientY, distance = 500) => {
const [xNorm, yNorm] = normalizeClientPosition(clientX, clientY);
const camera = getCameraRendered();
vector3.set(xNorm, yNorm, 0.5);
vector3.unproject(camera);
const cameraPosition = getWorldPosition(camera);
vector3.sub(cameraPosition).normalize();
const vec = cameraPosition.add(vector3.multiplyScalar(distance * scaleDown));
return vec2Point(vec);
};
//# sourceMappingURL=clientToWorld.js.map