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摄像机
好的,谢谢您的建议
