Swift ARKit+SpriteKit简易AR游戏实现
ARKit 的空间感 + SpriteKit 的 2D 趣味,Swift 里能玩的组合还挺多的。这篇文章就带你做个小实验,教你怎么用这两个框架撸一个 AR 游戏,算是上手练习也不错。写得比较清楚,步骤拆得细,代码也贴心配好了,照着来基本没啥坑。
ARKit负责搞定现实世界的部分,比如识别水平面、追踪手机位置。SpriteKit则负责 2D 游戏逻辑,比如精灵动画、触控交互啥的。两边配合好,游戏元素就能贴在真实环境里动起来,看起来还挺酷。
流程也不复杂,像是:先配置ARSession
,用ARWorldTrackingConfiguration
启用平面检测;再把SKScene
塞进ARScene
里;根据ARAnchor
动态放 Sprite 节点。整体思路就是:现实世界定位,虚拟世界响应。
例如下面这个代码段,初始化配置:
let configuration = ARWorldTrackingConfiguration()
configuration.planeDetection = .horizontal
sceneView.session.run(configuration)
Sprite 场景加载也就几行:
let skView = sceneView as! SKView
let gameScene = GameScene(size: sceneView.bounds.size)
skView.presentScene(gameScene)
玩法方面,用touchesBegan
或gesture recognizer
来监听点击,做点交互效果,比如打掉怪兽、拖动角色等,体验还蛮有意思。
要注意性能问题,AR 比较吃资源。帧率别太高,Sprite 节点数量控制一下,别堆太多动画,不然手机一会儿就发烫。
如果你是想入门 ARKit 或者 SpriteKit,跟着这篇练练手挺合适。文末我还整理了几个延伸阅读,有时间可以翻翻,对理解框架会更有:
- game-development-with-swift-and-spritekit
- Building Augmented Reality Apps with ARKit in Swift 4.2
- Swift ARKit 学习宝库:Udacity 课程实践指南
- ARKit 案例
如果你正好想用 Swift 做点新奇的小项目,不如试试这个组合,AR+2D 也能玩出不少花样。
swift-ARKit和SpriteKit实现的简单AR游戏.zip
预估大小:33个文件
ARKitGameSpriteKit-master
文件夹
LICENSE
1KB
ARSpriteKit.xcodeproj
文件夹
project.xcworkspace
文件夹
contents.xcworkspacedata
156B
project.pbxproj
13KB
.gitignore
1KB
README.md
939B
ARSpriteKit
文件夹
ViewController.swift
2KB
1.16MB
文件大小:
评论区