Measure the Ground Using ARKit
Echemos un vistazo al método de Cómo medir el suelo usando ARKit, una herramienta genial que le ayudará a medir las cosas a distancia con sólo usar los sencillos trucos que vamos a discutir a continuación. Así que echa un vistazo a la guía completa que se discute a continuación para proceder.
En resumen, ARKit es la herramienta popular para el desarrollo de la herramienta de realidad aumentada o esta es una plataforma particular para los desarrolladores de iOS. A través de esta herramienta, varias cosas pueden ser creadas y utilizadas mientras que la cámara del dispositivo también puede ser utilizada bien en las creaciones. Varios hechos pueden ser implementados en el ARKit como para finalizar los requerimientos. Una de las cosas que a los usuarios les gustaría hacer con el ARKit es medir el terreno con él. Afortunadamente, es posible medir el suelo con esta herramienta y los resultados más precisos se pueden encontrar a través de ella. Ahora muchos de los usuarios estarán confundidos acerca de cómo puede ser posible realizar el método, no hay que preocuparse ya que este artículo está relacionado con eso. Aquí en este artículo, hemos escrito sobre el método para medir el suelo utilizando el ARKit. Si está interesado en leer esta información o la encuentra útil para su uso, entonces por favor léalo abajo. Toda la información adecuada se proporciona en la sección principal de este post como se indica a continuación, recuerde leer hasta el final de la página para obtener todo el conocimiento sobre el tema. Así que, ¡comencemos!
Cómo medir el suelo usando el ARKit
Requisitos antes de continuar: Mac con MacOS 10.13.2 o posterior, Xcode 9.2 o superior, un dispositivo con iOS 11+ en un procesador A9 o superior, Swift 4.0, una cuenta de Apple Developer.
Pasos para medir el suelo usando el ARKit
#1 En primer lugar, descargar todos los activos necesarios desde el Link – http://www.mediafire.com/file/mhusxpaha96zgzq/Assets.zip/file. Este enlace te descargará todas las cosas y podrás continuar con este método. Tenga en cuenta que hay un requisito para los activos, por lo que primero debe completar este paso. Para un fácil acceso a los archivos o a los activos que descargue, manténgalos dentro de una carpeta desde la que se pueda acceder a los archivos.
Medir el suelo usando ARKit
#2 Sigue esta guía en el Enlace https://mobile-ar.reality.news/how-to/arkit-101-pilot-your-3d-plane-location-using-hittest-arkit-0184060/#jump-step2 y luego crea el Proyecto AR en XCode. El nuevo proyecto que crees debe tener un nombre diferente para que puedas usarlo fácilmente y reconocerlo al instante. También prueba rápidamente el proyecto antes de ejecutarlo.
#3 Importar todos los activos a su nuevo proyecto que se crea en el paso anterior. Recuerde que debe seleccionar la opción Copiar si es necesario mientras importa los activos al proyecto. Esto es fácil de hacer el paso a través de las opciones del menú.
Medir el suelo usando ARKit
#4 Ahora dentro del archivo “ViewController.swift”, necesitas modificar la línea de creación de la escena en el método viewDidLoad(). El código tiene que ser cambiado de –
let scene = SCNScene(nombrado: “art.scnassets/ship.scn”)! tolet scene = SCNScene()A continuación encuentra la línea en la parte superior del archivo- @IBOutlet var sceneView: ARSCNView! y luego agregue el código debajo de ella- var grids = [Grid]()
Esto mostrará las líneas de la cuadrícula para la detección.
#5 Copia y pega los siguientes códigos bajo los últimos rizos del archivo:
// 1.func renderer(_ renderer: SCNSceneRenderer, didAdd node: SCNNode, for anchor: ARAnchor) {let grid = Grid(anchor: anchor as! ARPlaneAnchor)self.grids.append(grid)node.addChildNode(grid)}// 2. func renderer(_ renderer: SCNSceneRenderer, didUpdate node: SCNNode, for anchor: ARAnchor) {let grid = self.grids.filter { grid inreturn grid.anchor.identifier == anchor.identifier}.first
Guardar dejar foundGrid = cuadrícula más {retorno}
foundGrid.update(anchor: anchor as! ARPlaneAnchor)}
#6 Bajo la línea dada abajo en viewDidLoad():
sceneView.showsEstadísticas = verdadero
Suma el código – sceneView.debugOptions = ARSCNDebugOptions.showFeaturePoints
Y bajo el código – que configuración = ARWorldTrackingConfiguration()
Añadir configuración.planoDetección = .horizontal
#6 La codificación anterior establecerá las detecciones de línea horizontal y vertical con una cuadrícula para la detección 3D, pero para las mediciones, es necesario abrir el archivo Grid.Swift.
Dentro del archivo busque el código – var planoGeometría: SCNPlane!
y añadir una nueva línea de geometría – var textGeometry: SCNText!
#7 Encuentra hasta las líneas que importan el ARkit ahora, será – importar ARKit. Debajo de las líneas y por encima de las líneas que crearon la clase de cuadrícula se suman:
extensión ARPlaneAnchor { // Pulgadas de ancho var: Flota { retorno auto-extensión.x * 39.3701} de longitud var: Flotador { retorno auto.extensión.z * 39.3701} }
#8 Después de todo eso encuentra el método setup(). Borre este método y reemplácelo por una versión actualizada del método como se muestra a continuación:
private func setup() { planeGeometry = SCNPlane(width: CGFloat(anchor.width), height: CGFloat(anchor.length))
let material = SCNMaterial() material.diffuse.contents = UIImage(named: “overlay_grid.png”)
planeGeometry.materials = [material] let planeNode = SCNNode(geometría: auto.planeGeometry) planeNode.physicsBody = SCNPhysicsBody(type: .static, shape: SCNPhysicsShape(geometría: planGeometry, opciones: nil)) planeNode.physicsBody?.categoryBitMask = 2
planeNode.position = SCNVector3Make(ancla.centro.x, 0, ancla.centro.z); planeNode.transform = SCNMatrix4MakeRotation(Flota(-Doble.pi / 2.0), 1.0, 0.0, 0.0);
// 1. let textNodeMaterial = SCNMaterial() textNodeMaterial.diffuse.contents = UIColor.black
// Configurar la geometría del texto textGeometry = SCNText(string: String(formato: “%.1f””