convertToNodeSpaceAR 坐标转换问题请教~

convertToNodeSpaceAR 可以把指定坐标转换到指定的node节点内部坐标中,但如果node节点已经发生了旋转,该如何生成旋转后的相对坐标系里面的坐标呢???
场景描述:『遇到的问题是地球仪发生了旋转,在屏幕上点某个点时候,想要获取相应的地球仪上的坐标位置,如果地球仪没有发生旋转,convertToNodeSpaceAR的结果是正确的,但如果旋转了,得到的结果还是旋转前的坐标系位置,不是旋转后的,该怎么处理呢???』

只要锚点在(0.5,0.5)不管怎么转,坐标都不变,若锚点不在中心,可以把节点添加到一个父节点下,让父节点旋转实现相同的旋转效果。

锚点是0.5。我这边遇到的问题是地球仪发生了旋转,在屏幕上点某个点时候,想要获取相应的地仪上的坐标位置,如果地球仪没有发生旋转,convertToNodeSpaceAR的结果是正确的,但如果旋转了,得到的结果还是旋转前的坐标系位置,不是旋转后的,该怎么处理呢???

听你说地球仪旋转,貌似是3d的问题呢。我没怎么使用3d,但坐标转换问题最近才踩了个坑,


你可以试试这个方法呢

@panda @jjyinkailejj 大佬帮忙看看

自问自答一下吧,说下思路:
方法一:碰撞测试『验证失败,碰撞的坐标点依然是旋转前的』
方法二:空间坐标转换『验证失败,空间坐标转换后,得到的结果依然是旋转前的』
方法三:验证成功参考白玉无冰的示例

方法三过程:
1、在旋转前的坐标点位置放置一个Node节点(透明看不到的)
2、对Node节点进行反向旋转(旋转角同地球仪,旋转轴与地球仪相反即可)
3、对旋转后的Node节点,取其position,即为旋转后想要的坐标点

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。