ARKit1.5多了識別圖片功能 與常見的第三方相比方便了不少
效果圖如下:
image.png
下面是使用流程
1.在Assets里創(chuàng)建一個AR Resources文件夾(其他名字也可以)
2.把圖片放進(jìn)AR Resources,然后使用Xcode面板設(shè)置識別圖像的實際大小
image.png
如果不設(shè)置大小會蹦 不過你沒設(shè)置大小也會報警告
可以在官網(wǎng)上找到答案
image.png
3.創(chuàng)建一個ARReferenceImage對象佳头,并賦值給世界追蹤類的detectionImages屬性。
image.png
4.然后運行追蹤類
image.png
/ **會話將重置跟蹤。*/
ARSessionRunOptionResetTracking
/ **會話將刪除現(xiàn)有的錨點青伤。*/
ARSessionRunOptionRemoveExistingAnchors
- 然后便可在代理方法中給目標(biāo)圖片添加3D模型了
- (void)renderer:(id<SCNSceneRenderer>)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];
}
}