-
Creator 版本:3.5.0
-
目标平台: h5/pcweb
-
重现方式:主Camera可以改变位置来实现跟随角色移动,新增一个相机展示固定在屏幕底部的ui层,点击ui层上的摇杆最中心的位置,触发touchstart事件时,获取到的坐标在通过convertToNodeSpaceAR转换后存在较大偏差,正常应该接近(0,0)
1、效果图,后面地图可滚动,摇杆固定
2、摇杆的层级为自定义,地图用的默认UI_2D
代码如下
let uiLocation = event.getUILocation();
// let pos = this.controlCamera.screenToWorld(v3(uiLocation.x, uiLocation.y));
let pos = v3(uiLocation.x, uiLocation.y, 0);
let uiTrans = this._childNode.getComponent(UITransform);
let pos_0 = uiTrans.convertToNodeSpaceAR(pos);
console.log('pos0: ', pos_0)
this._childNode.setPosition(pos_0);
PS,当我把摇杆的层级也改为UI_2D时,这套转换的最终结果是正确的

