我正在使用ARKit开展一个小项目.我希望能够在点击时将对象添加到我的AR SceneView,用双击删除它们,然后用平移或拖动拖动主题.
放置对象的初始点击工作正常,但我在移除节点和拖动时遇到了一些问题.
删除和拖动的主要问题是实际上"保持"或单击SCNNode非常困难.大多数结果都没有出现在我添加的SCNNode上.
第二个问题是拖动有点儿错误,SCNNode实际上并没有像我的手指那样在拖动上移动.
我决定在github上创建一个项目,链接在这里:https://github.com/theraad/ARAttempt
但我也会发布我的代码来删除对象并拖动对象:
-(void)handleRemoveObject:(UITapGestureRecognizer *)recognizer {
NSLog(@"Long Press Fired");
CGPoint tapPoint = [recognizer locationInView:_sceneView];
NSArray <SCNHitTestResult *> *result = [self.sceneView hitTest:tapPoint options:nil];
if ([result count] == 0) {
return;
}
SCNHitTestResult *hitResult = [result firstObject];
if (hitResult.node) {
[[hitResult.node parentNode] removeFromParentNode];
}
}
-(void)moveObject:(UIPanGestureRecognizer *)recognizer {
NSLog(@"Move object");
if (recognizer.state == UIGestureRecognizerStateBegan) {
NSLog(@"Pan state began");
CGPoint tapPoint = [recognizer locationInView:_sceneView];
NSArray <SCNHitTestResult *> *result = [self.sceneView hitTest:tapPoint options:nil];
if ([result count] == …Run Code Online (Sandbox Code Playgroud) 问题非常自我解释.我希望能够简单地在SceneKit编辑器中移动枢轴点,这在其他3D建模工具(如Maya)中非常标准.反正有没有这样做?它比尝试以编程方式更改枢轴点更清晰,我的所有尝试都是使用轴心点移动整个节点,或者正在创建一个重复节点,并且正在使用轴心点移动.
任何帮助,将不胜感激.