这部分教程我们使用一个第三方框架ARVideoKit来实现将AR效果录制成视频或gif动图。这个框架是由苹果的ARKit、AVFoundation、Metal和CoreMedia构建的,它去掉了用设备的camera流呈现ARSCNView或ARSKView内容的复杂部分。
关于ARVideoKit
- 从ARSCNView、ARSKView和SCNView捕捉照片
- 从ARSCNView、ARSKView和SCNView捕捉Live Photos和gif
- 录制来自ARSCNView、ARSKView和SCNView的视频
- 暂停/播放视频
- 允许设备的音乐在后台播放,同时录制视频
实现效果预览:
Step 1:新建项目
首先下载ARVideoKit(本次案例演示使用的是1.11版本)的Framework.zip文件。
在Xcode创建ARKit + SpriteKit项目
接下来添加FrameWork
1.在项目文件夹中创建一个名为Frameworks的文件夹。
2.将下载的ARVideoKit.framework复制到Frameworks文件夹中
3.将ARVideoKit.framework拖放到项目target’s embedded binaries中。确保选中“Copy items if needed”。
配置Framework
1.通过添加以下语句,在AppDelegate.swift中导入ARVideoKit:
import ARVideoKit
2.在AppDelegate.swift类中添加以下方法,允许以不同的方向录制视频和gif文件。
func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
return ViewAR.orientation
}
完整代码如下:
import UIKit
import ARVideoKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {