摄像机缩放后 如何获取正确的node点击后的节点坐标

this.node.(cc.Node.EventType.TOUCH_END, (e: cc.Event.EventTouch) => {
let touchPos = e.getStartLocation();
touchPos = this.convertToNodeSpaceAR(touchPos);
}
摄像机设置zoomRatio后位置就不正确
版本2.4.7

同问,有办法吗

同求同求同求同求

我的具体的问题是需要将3d摄像机下的2d按钮(3d摄像机的层级),在放大缩小摄像机fov,移动3d摄像机的情况下,准确的判断这个2d按钮的位置,并且可以点击相应事件,但是这个2d节点,我不能用射线检测,又只能用正交摄像机点击。

而且我这个版本cc里面没有上述的函数

哪个版本,源码里面也没有吗?

实在是没有的话,找个有的版本,把代码copy过来

        const p = new Vec3()
        event.touch.getLocation(p)//获取屏幕坐标
        camera.getScreenToWorldPoint(p, p);//屏幕坐标转换到地图摄像机的世界坐标
        this.node.getComponent(UITransform).convertToNodeSpaceAR(p,p)//转换到本地坐标

3.5.2的版本

convertToNodeSpaceAR这个试过没有用 这个是 * 将一个 UI 节点世界坐标系下点转换到另一个 UI 节点 (局部) 空间坐标系,这个坐标系以锚点为原点。但是我用了一个3d摄像机和2d摄像机

好的,谢谢您的建议