我有一個ARKit Spritekit項目,我想爲每個ARAnchor顯示不同的圖像。如何將自定義參數傳遞給SKView委託方法視圖(nodeFor)
我對添加到每個ARAnchor的SKSpriteNode圖像的最佳匹配方式有點困惑,因爲SKScene
Scene類和視圖控制器之間存在一些控制反轉。
我在Scene.swift中添加錨,並在視圖控制器中處理委託方法。
func view(_ view: ARSKView, nodeFor anchor: ARAnchor) -> SKNode? {
// Create and configure a node for the anchor added to the view's session.
// this image url needs to be dynamic and vary for each node
let imageURL = "https://farm1.staticflickr.com/[SOMEID].jpg"
let url = URL(string: imageURL)
let data = try? Data(contentsOf: url!)
let theImage = UIImage(data: data!)
let Texture = SKTexture(image: theImage!)
return SKSpriteNode(texture: Texture)
}
我的問題是這樣的:我應該如何傳遞動態圖像信息?
- 我能繼承
ARAnchor
並設置自定義錨類IMAGEURL當我Scene.swift錨添加到ARSKView
- 我應該插入不Scene.swift和替代視圖控制器的
ARAnchor
- 然後以某種方式保持與ARAnchor
和SKSpriteNode的鏈接?
所以即使我移動邏輯視圖控制器 - 我仍然可能想要像#1那樣子類ARAnchor? – MonkeyBonkey
@MonkeyBonkey我不建議將屬性添加到ARAnchor子類中,因爲它會導致我凍結。 –
我在ARAnchor子類中有一個屬性。對於我來說,屬性通過'view(_:nodeFor:)'是正確的,但隨後丟失屬性值。 – Caroline