ARkit1.5多了识别图片功能 与常见的第三方相比方便了不少
效果图如下:
下面是使用流程
1.在Assets里创建一个AR Resources文件夹(其他名字也可以)
2.把图片放进AR Resources,然后使用Xcode面板设置识别图像的实际大小
如果不设置大小会蹦 不过你没设置大小也会报警告
可以在官网上找到答案
3.创建一个ARReferenceImage对象,并赋值给世界追踪类的detectionImages属性。
4.然后运行追踪类
/ **会话将重置跟踪。*/ ARSessionRunOptionResetTracking / **会话将删除现有的锚点。*/ ARSessionRunOptionRemoveExistingAnchors
然后便可在代理方法中给目标图片添加3D模型了
- (void)renderer:(id)renderer didAddNode:(SCNNode *)node forAnchor:(ARAnchor *)anchor { ARImageAnchor * imageAnchor = (ARImageAnchor *)anchor; //获取参考图片对象 ARReferenceImage * referenceImage = imageAnchor.referenceImage; if ([referenceImage.name isEqual: @"lcw"]) { SCNNode * tempNode = [SCNNode new]; CGFloat w = referenceImage.physicalSize.width; CGFloat h = referenceImage.physicalSize.height; SCNBox * box = [SCNBox boxWithWidth:w height:h length:0.01 chamferRadius:0]; tempNode.geometry = box; tempNode.eulerAngles = SCNVector3Make(-M_PI/2.0, 0, 0); tempNode.opacity = 0.5;//透明度 [node addChildNode:tempNode]; } }
作者:李境沛
链接:https://www.jianshu.com/p/4f07d1e46902