SCNHitResult - 绘制线到达点

时间:2016-07-11 18:42:51

标签: ios objective-c 3d scenekit

我想绘制一条线(或一个非常薄的SCNCylinder)来跟踪用于确定我使用其hitTest:options方法从SCNView获得的SCNHitResult的光线。

 NSArray *hitResults = [self.skView hitTest:point options:nil];

我的问题是我需要两个点来构造这一行:原点(这是SCNScene的pointOfView.position)和光线撞击第一个物体的点(我不知道如何获得这个位置) )。

有没有办法从命中测试中获得第一个命中SCNGeometry的位置?我一直在尝试SCNView的unprojectPoint:方法无济于事。谢谢你的任何指示。

1 个答案:

答案 0 :(得分:2)

Check this code

    NSArray *hitResults = [self.skView hitTest:point options:nil];
    // check that we clicked on at least one object
    if ([hitResults count] > 0) {
        // retrieved the first clicked object
        SCNHitTestResult * result = [hitResults firstObject];
        result.localCoordinates //position relative to local in V3
        result.worldCoordinates //position relative to world in V3
    }

I hope this helps you