iOS中的单例模式

来源:互联网 发布:马克飞象 mac客户端 编辑:程序博客网 时间:2024/06/05 19:28

本demo主要功能是创建一个把虚拟的画挂在墙上:

语言:Swift

效果图:

iOS ARKit 创建一个虚拟墙壁画

注意3点 : 需要iPhone6s及以上手机 ,至少iOS 11以上系统, 必须真机运行

主要是代码和注释 部分如下 

1 引入头文件

1
2
3
4
//引入ARkit所需的包
import ARKit
//引入 SceneKit
import SceneKit

2 代理和属性

1
2
3
4
5
6
7
8
9
10
class ArtTreeViewController: UIViewController,ARSCNViewDelegate {
    //必备
    let arSCNView = ARSCNView()
    let arSession = ARSession()
    let arConfiguration = ARWorldTrackingConfiguration()
     
    //用来显示图的节点
    let ArtPicNode = SCNNode()
    .........
}

3.设置显示场景的背景view

1
2
3
4
5
6
7
8
//设置arSCNView属性
        arSCNView.frame = self.view.frame
         
        arSCNView.session = arSession
        arSCNView.automaticallyUpdatesLighting = true//自动调节亮度
         
        self.view.addSubview(arSCNView)
        arSCNView.delegate = self

4.创建一个长方体,并把图片覆盖到其表面

1
2
3
4
5
6
7
8
9
10
11
        //创建一个长方体,用来展示图片
        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(05, -20)
        //添加长方体到界面上
        self.arSCNView.scene.rootNode.addChildNode(ArtPicNode)
原创粉丝点击