ARCampaign 0.1.4

ARCampaign 0.1.4

Magnus Tviberg维护。



  • purplos

ARCampaign IOS SDK

ARCampaign 是一个应用开发平台,提供了帮助您将增强现实活动构建到应用中的工具。有关 ARCampaign 的更多信息,请访问 https://ar.purpl.dev

安装 SDK

访问 ARCampaign 控制台并创建一个项目。

先决条件

在开始之前,您需要在您的环境中设置一些东西

  • Xcode 10.1 或更高版本
  • 目标 iOS 12 或更高版本的 Xcode 项目
  • Swift 项目必须使用 Swift 4.0 或更高版本
  • 您的应用程序的 bundle 标识符
  • CocoaPods 1.4.0 或更高版本

添加 SDK

访问 ARCampaign 控制台创建项目,输入“项目名称”。输入您的 XCode 项目的 bundle 标识符并上传图片和模型。下载 plist 文件并将其拖入您的 XCode 项目

将 ARCampaign 添加到您的项目中

ARCampaign 通过 CocoaPods 提供。要安装它,只需将以下行添加到 Podfile 中

pod 'ARCampaign'

在您的应用程序中初始化 ARCampaign

在您的 UIApplicationDelegate 中导入 ARCampaign 模块

import ARCampaign

通常在您应用程序的 application:didFinishLaunchingWithOptions: 方法中配置 ARCampaignApp 共享实例

ARCampaignApp.configure()

如果您尚未添加,请记住将 NSCameraUsageDescription 添加到您的项目中。将以下代码添加到 info.plist 文件中

<key>NSCameraUsageDescription</key>
<string>ARCampaign-Example requires access to your phone’s camera.</string>

用法

在您的项目中添加了 ARCampaign SDK 之后,您可以轻松地创建 SimpleARCampaignViewController 或使用完全可定制的 UIViewController。

快速简便的实现

初始化 SimpleARCampaignViewController 的实例并将其呈现在视图控制器中。就是这样!

let simpleVC = SimpleARCampaignViewController()
present(simpleVC, animated: true, completion: nil)

您还可以用您自己的 UIView 替换默认教程视图。只需在您呈现视图控制器之前在 SimpleARViewController 上替换 tutorialView 即可。

// create an instance of your own subclass of UIView
let customTutorialView = CustomTutorialView()

// create an instance of the SimpleViewController
let simpleVC = SimpleARCampaignViewController()

// replace the tutorialView
simpleVC.tutorialView = customTutorialView

// present 
present(simpleVC, animated: true, completion: nil)

高级实现

在您自己的 ViewController 中创建 CampaignManager 实例,并获取模型、跟踪图像和图像宽度。

let manager = CampaignManager()
manager.fetchCampaign { (campaignInfo, imageData, modelURL, error) in
    if error != nil {
        // Handle error
    } else {
        // get the tracking image width
        guard let width = campaignInfo?.trackingImageInfo.width else { return }

        // get tracking image
        guard let imageData = imageData else { return }
        guard let image = UIImage(data: imageData) else { return }

        // create a ARReferenceImage
        let arImage = ARReferenceImage(image.cgImage!, orientation: CGImagePropertyOrientation.up, physicalWidth: CGFloat(width))

        // get the 3D model
        guard let url = modelURL else { return }
        guard let scene = try? SCNScene.init(url: url, options: nil) else { return }
        let modelNode = scene.rootNode
    }
}

CampaignManager 类还具有获取模型和跟踪图像信息的独立方法。

技术支持

  • Zip - 用于解压以.zip文件格式收到的模型

版本控制

有关可用的版本,请参阅此存储库的标签

作者

Purpl, [email protected]

许可

ARCampaign可在MIT许可下使用。有关更多信息,请参阅LICENSE文件。