Я работаю над проектом AR, используя ARKit.
Я хочу разместить 3D-модель вместо Координаты. Я могу добавить изображение вместо координаты ниже код
public init(location: CLLocation?, image: UIImage) {
let plane = SCNPlane(width: image.size.width / 100, height: image.size.height / 100)
plane.firstMaterial!.diffuse.contents = image
plane.firstMaterial!.lightingModel = .constant
annotationNode = AnnotationNode(view: nil, image: image)
annotationNode.geometry = plane
super.init(location: location)
let billboardConstraint = SCNBillboardConstraint()
billboardConstraint.freeAxes = SCNBillboardAxis.Y
constraints = [billboardConstraint]
addChildNode(annotationNode)
}
Код класса AnnotationNode для размещения изображения в Координате.
open class AnnotationNode: SCNNode {
public var view: UIView?
public var image: UIImage?
public init(view: UIView?, image: UIImage?) {
super.init()
self.view = view
self.image = image
}
required public init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
Вот код добавления 3D-модели на экран.
let idleScene = SCNScene(named: "art.scnassets/idleFixed.dae")!
// let idleScene = SCNScene(named: "art.scnassets/piper_pa18.dae")!
// This node will be parent of all the animation models
let node1 = SCNNode()
// Add all the child nodes to the parent node
for child in idleScene.rootNode.childNodes {
node1.addChildNode(child)
}
Если я добавлю строку ниже, 3D-модель будет добавлена в приложение, но не в определенную координату.
sceneLocationView.scene.rootNode.addChildNode(node1)
Но я хочу добавить 3D-объект. Может кто-нибудь помочь мне, как этого добиться?