SCNHitResult - 画线到命中点
SCNHitResult - draw line to hit point
我想画一条线(或一条非常细的 SCNCylinder)来追踪光线,该光线用于确定我使用 hitTest:options 方法从 SCNView 获得的 SCNHitResult。
NSArray *hitResults = [self.skView hitTest:point options:nil];
我的问题是我需要两个点来构建这条线:原点(即 SCNScene 的 pointOfView.position)和光线击中第一个对象的点(我不知道如何获得位置)。
有没有办法从命中测试中获取第一个命中的 SCNGeometry 的位置?我一直在尝试 unprojectPoint: SCNView 的方法无济于事。感谢指点。
检查此代码
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
}
希望对你有帮助
我想画一条线(或一条非常细的 SCNCylinder)来追踪光线,该光线用于确定我使用 hitTest:options 方法从 SCNView 获得的 SCNHitResult。
NSArray *hitResults = [self.skView hitTest:point options:nil];
我的问题是我需要两个点来构建这条线:原点(即 SCNScene 的 pointOfView.position)和光线击中第一个对象的点(我不知道如何获得位置)。
有没有办法从命中测试中获取第一个命中的 SCNGeometry 的位置?我一直在尝试 unprojectPoint: SCNView 的方法无济于事。感谢指点。
检查此代码
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
}
希望对你有帮助