当我将图层A进行setRotaion3D(-20,0,0) 和setPosition3D(-200,0,0)之后 P的空间坐标Vec3如何计算
或者有没有什么办法将P的节点坐标转化为屏幕坐标
求个大佬支招
up up up
p点放一个node 直接获取node的坐标
那样获取的不是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位置
继续顶一下
