123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- 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
- },
- }
|