iOS ARKit 墙壁画

本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)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我看着池子里欢腾的鱼儿 溶于水,与水共生 水轻抚它的身体 像母亲轻抚不安的婴儿一样 这一幕,是这样简单与美好 真想...
    三闻鱼r阅读 1,618评论 0 3
  • 其实每个人的品味都不会和其他人完全相同,一旦我们发现更多更适合自己的选择,就更多的被它们吸引。这是长尾理论的人性本...
    我偏笑_NSNirvana阅读 6,641评论 8 10
  • 废话不说直接代码,先上车,等项目不忙了再解释 使用方法 效果图
    lipeiyan阅读 5,568评论 0 2