本demo主要功能是创建一个把虚拟的画挂在墙上:
语言:Swift
效果图:
注意3点 : 需要iPhone6s及以上手机 ,至少iOS 11以上系统, 必须真机运行
主要是代码和注释 部分如下 下载 Demo:
1 引入头文件
//引入ARkit所需的包 import ARKit //引入 SceneKit import SceneKit
2 代理和属性
class ArtTreeViewController: UIViewController,ARSCNViewDelegate { //必备 let arSCNView = ARSCNView() let arSession = ARSession() let arConfiguration = ARWorldTrackingConfiguration() //用来显示图的节点 let ArtPicNode = SCNNode() ......... }
3.设置显示场景的背景view
//设置arSCNView属性 arSCNView.frame = self.view.frame arSCNView.session = arSession arSCNView.automaticallyUpdatesLighting = true//自动调节亮度 self.view.addSubview(arSCNView) arSCNView.delegate = self
4.创建一个长方体,并把图片覆盖到其表面
//创建一个长方体,用来展示图片 ArtPicNode.geometry = SCNBox.init(width: boxW, height: boxH, length: boxL, chamferRadius: 0.1) //方形 //把图片覆盖到其表面 ArtPicNode.geometry?.firstMaterial?.diffuse.contents = timgKuang.jpg ArtPicNode.geometry?.firstMaterial?.multiply.intensity = 0.5 //強度 ArtPicNode.geometry?.firstMaterial?.lightingModel = SCNMaterial.LightingModel.constant //3.设置位置:相对于摄像头 ArtPicNode.position = SCNVector3(0, 5, -20) //添加长方体到界面上 self.arSCNView.scene.rootNode.addChildNode(ArtPicNode)