import math from '@sdk/utils/math' import convertTool from './convertTool' export default { /** * 2d转3d1 * @param {*} x * @param {*} y * @param {*} player * @returns */ pointFrom2DTo3D({ x, y }, player, camera, element) { if (!camera) { camera = player.camera } if (!element) { element = player.domElement } let position = new THREE.Vector3(0, 0, 0) math.convertScreenPositionToNDC(x, y, position, element) position.unproject(camera) position.y = 0 return position }, /** * 3d转2d * @param {*} position * @returns */ pointFrom3DTo2D(position, player, camera, element) { let vector = position if (!camera) { camera = player.camera } if (!element) { element = player.domElement } if (position instanceof THREE.Vector3 === false) { vector = new THREE.Vector3(vector.x || 0, vector.y || 0, vector.z || 0) } return convertTool.getPos2d(vector, player, camera, element).pos }, }