私はARAnchorごとに異なる画像を表示するARKit Spritekitプロジェクトを持っています。SKViewデリゲートメソッドビュー(nodeFor)にカスタムパラメータを渡す方法
私はSKSpriteNodeイメージにマッチする最良の方法について少し混乱しています。SKScene
シーンクラスとビューコントローラの間にコントロールの反転があるため、各ARAnchorに追加しています。
私は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)
}
私の質問は、どのように私は動的画像情報を渡すべきですか?
- 私はないScene.swiftから、代わりにビューコントローラから
ARAnchor
を挿入する必要があり、私はARAnchor
をサブクラス化して、私はScene.swift - に
ARSKView
にアンカーを追加するときにカスタムアンカークラスにIMAGEURLを設定することができます - そして、どういうわけか、そのARAnchor
とSKSpriteNodeへのリンクを保持していますか?
ので、私は、ビューコントローラにロジックを移動した場合でも - 私はおそらくまだだろう#1のようにARAnchorをサブクラス化したいですか? – MonkeyBonkey
@MonkeyBonkey ARAnchorサブクラスに属性を追加することはお勧めできません。なぜなら、それは私のためにフリーズを引き起こすからです。 –
私はARAnchorサブクラスに1つのプロパティを持っています。私の場合、プロパティは 'view(_:nodeFor:)'を通して正しいですが、後でプロパティ値を失います。 – Caroline