那样获取的不是3D旋转后的坐标
你旋转的节点是a p点放在a节点下 不是跟着一起旋转了吗
对啊 但是是setRotation3D 的旋转 已经不是二维的坐标系了 将P的坐标转通过convertToWorldSpace转换得到的坐标是不对的
相机 worldToScreen
我用的是cocos2d-x3.17.2好像没找到这个接口
手动顶一下
Vec3 unproject (const Vec3 &src) const
Convert the specified point of screen-space coordinate into the 3D world-space coordinate. More...
找到这个api 你那里能调用 project 这个api吗 相机上
这个方法 可以调用到
那你试试 project 这个api
这个方法具体是做什么用的 没看明白 能讲下么
unproject 指定屏幕坐标转为3D世界坐标
project 指定3D世界坐标转为屏幕坐标
现在主要是 我没法知道P点的3D世界坐标
node 应该有这个getPosition3D 方法吧
这个方法有 但是获取的不对 经过图层A经过 setRotation3D 按理来说应该 它的子节点图层BgetPostion3D()的Z值应该不是0 但是图层B得到的Postion3D的Z值还是0
应该是 getPosition3D的位置是想对于它的父节点的3D位置 没法将其转换为世界坐标下的3D位置
继续顶一下
找到解决方案了

在node中添加获取3D世界坐标的方法
在node中添加将3D世界坐标转换为屏幕坐标的方法
使用是将需要转换的node调用convertToWorldSpace3D获得3D坐标 然后用transformScreenPoint 将3D坐标转化屏幕坐标即可
该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。
