0
我试图将嵌套的SCNNode的3d位置转换为x,y(CGPoint)坐标(用于覆盖对象上的视图)。在屏幕空间中将嵌套的SCNNode位置转换为CGPoint
我SCNNode结构如下:
+-----------+
| Root node |
+-----+-----+
|
|
+----+---+
+--+ Node A +--+
| +--------+ |
| |
| |
| |
+---+----+ +----+---+
| Node B | | Node C |
+--------+ +--------+
我想获得基站的屏幕空间的2D位置。我知道convertPosition:和projectPoint:方法,但我不认为我正确使用它们。
任何指针?
编辑:
目前正试图这样的事情:
SCNVector3 rootPosition = [[[[self view3D] scene] rootNode] convertPosition:[nodeB position] fromNode:nodeB];
SCNVector3 projectedPoint = [[self view3D] projectPoint:rootPosition];
NSLog(@"x %f y %f z %f", projectedPoint.x, projectedPoint.y, projectedPoint.z);
结果x,y,z是遥远(有时是负的,这是没有意义的屏幕空间作为对象显然是在视图中)。
你可以发布你到目前为止? – wogsland
@wogsland用代码编辑。 – jxd