Ios 利用ARKit和SCNKit定位虚拟资产
我正试图更好地理解SCNKit和ARKit,并在我的iPhone上部署了一个barebones Xcode 9增强现实应用程序(我将其用作一个简单的测试设备) 此应用程序的源代码为 基本上,应用程序启动,相机初始化,并在场景(世界视图)中渲染3D战斗机,其方式与口袋妖怪将怪物注入相机视口(无论您将相机指向何处)的方式类似。很酷 这段代码是由Xcode为我自动生成的。因此,我试图理解决定战斗机定位/定向的逻辑所在(SCN文件名为Ios 利用ARKit和SCNKit定位虚拟资产,ios,xcode,augmented-reality,arkit,scnnode,Ios,Xcode,Augmented Reality,Arkit,Scnnode,我正试图更好地理解SCNKit和ARKit,并在我的iPhone上部署了一个barebones Xcode 9增强现实应用程序(我将其用作一个简单的测试设备) 此应用程序的源代码为 基本上,应用程序启动,相机初始化,并在场景(世界视图)中渲染3D战斗机,其方式与口袋妖怪将怪物注入相机视口(无论您将相机指向何处)的方式类似。很酷 这段代码是由Xcode为我自动生成的。因此,我试图理解决定战斗机定位/定向的逻辑所在(SCN文件名为art.scnassets/ship.SCN)。从图中我们可以看到飞机
art.scnassets/ship.SCN
)。从图中我们可以看到飞机正在装载:
override func viewDidLoad() {
super.viewDidLoad()
// Set the view's delegate
sceneView.delegate = self
// Show statistics such as fps and timing information
sceneView.showsStatistics = true
// Create a new scene
print("Hello there Mr. Zac")
let scene = SCNScene(named: "art.scnassets/ship.scn")!
// Set the scene to the view
sceneView.scene = scene
}
但我不明白应用程序是如何选择飞机/飞船的放置位置和方向的。我这样问是因为作为第一步,我想尝试重新定位喷气式飞机,然后将其换成我自己的资产文件。这方面的“逻辑”存在于两个地方,例如有任何逻辑
ship.scn
文件不仅定义了模型,还定义了模型在场景中的位置。(即,在全局“世界”坐标空间中。)
在Xcode项目模板中附带的scn
文件中,模型的位置类似于0,0,-0.5
,因此如果将摄影机放置在坐标系的原点,则飞船将直接显示在摄影机前面,距离摄影机半米.scn
文件是否仅定义了场景中模型的默认/初始位置?是否有任何方法可以覆盖此默认/初始位置,以及在将其加载到场景后对其进行更新?再次感谢!