我已成功构建了Vuforia的示例应用程序。我感兴趣的是采用气缸跟踪并用一个不旋转但位于相对于罐头(跟踪图像的中心)的某个位置的按钮替换围绕汽水罐旋转的足球。
我是iOS开发的新手,我不确定如何做到这一点。理想情况下,这将以编程方式完成。
我可以使用以下代码向CylinderTargetsViewController.mm
添加一个按钮:
- (void)viewDidLoad
{
[super viewDidLoad];
UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
[button setTitle:@"Gossamer Rules" forState:UIControlStateNormal];
[button sizeToFit];
button.center = CGPointMake(320/2, 60);
[button addTarget:self action:@selector(buttonPressed:)
forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button];
}
- (void)buttonPressed:(UIButton *)button {
UIApplication *mySafari = [UIApplication sharedApplication];
NSURL *myURL = [[NSURL alloc]initWithString:@"http://www.example.com"];
[mySafari openURL:myURL];
}
然而,这会在屏幕上添加一个按钮,无论是否找到目标,并且它与目标没有空间关系。
我尝试将此代码移至CylinderTargetsEAGLView.mm
但在行[self.view addSubview:button];
上收到错误,说该视图不是自我属性。
我意识到这可能不是正确的方法。我认为按钮需要渲染为openGl对象或其它东西,以便它是3维的,并且可以在移动目标时从一个角度看到。
有没有人这样做或有任何线索可以做到这一点?
答案 0 :(得分:0)
我决定使用Vuforia Unity Package,因为学习纯OpenGL编程的学习曲线要陡峭得多。 Unity路线有更大的社区支持,还有更多的教程/信息。