美文网首页
iOS ARKit 墙壁画

iOS ARKit 墙壁画

作者: 树懒啊树懒 | 来源:发表于2017-11-24 10:14 被阅读194次

    本demo主要功能是创建一个把虚拟的画挂在墙上:
    语言:Swift
    效果图:


    IMG_0209.PNG

    注意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)
    

    相关文章

      网友评论

          本文标题:iOS ARKit 墙壁画

          本文链接:https://www.haomeiwen.com/subject/uugwvxtx.html