lingo3d
Version:
Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor
16 lines • 770 B
JavaScript
import { CM2M } from "../../globals";
import { cameraRenderedPtr } from "../../pointers/cameraRenderedPtr";
import getWorldPosition from "../../memo/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] = cameraRenderedPtr;
const cameraPosition = getWorldPosition(camera);
vector3.set(xNorm, yNorm, 0.5);
vector3.unproject(camera);
vector3.sub(cameraPosition).normalize();
return vec2Point(cameraPosition.add(vector3.multiplyScalar(distance * CM2M)));
};
//# sourceMappingURL=clientToWorld.js.map