Categories
IT-tutorials

Hur man mäter marken med ARKit

Mät marken med ARKit

Låt oss ta en titt på metoden för Hur man mäter marken med ARKit, ett coolt verktyg som hjälper dig att mäta saker på avstånd genom att bara använda de enkla knep som vi kommer att diskutera nedan. Så ta en titt på den kompletta guiden som diskuteras nedan för att fortsätta.

Kort sagt – ARKit är det populära verktyget för utveckling av verktyg för augmented reality eller så är detta en speciell plattform för iOS-utvecklare. Genom detta verktyg kan olika saker skapas och användas samtidigt som enhetens kamera också kan utnyttjas väl i skapelserna. Olika fakta kan implementeras i ARKit för att slutföra kraven. En av de saker som användare skulle vilja gå igenom ARKit är att mäta marken med den. Lyckligtvis är detta möjligt att mäta marken med detta verktyg och de mest exakta resultaten kan hittas genom det. Nu kommer många av användarna att bli förvirrade över hur det kan vara möjligt att utföra metoden, oroa dig inte eftersom den här artikeln är relaterad till det. Här i den här artikeln har vi skrivit om metoden att mäta marken med hjälp av ARKit. Om du är intresserad av att läsa om denna information eller tycker att den är användbar för din användning så läs den ner. All korrekt information tillhandahålls i huvuddelen av det här inlägget som ges nedan, kom ihåg att läsa till slutet av sidan så att du får all kunskap om ämnet. Så, låt oss komma igång!

Hur man mäter marken med ARKit

Krav innan du fortsätter – Mac som kör macOS 10.13.2 eller senare, Xcode 9.2 eller senare, En enhet med iOS 11+ på en A9-processor eller högre, Swift 4.0, Ett Apple-utvecklarkonto.

Steg för att mäta marken med ARKit

#1 Först och främst ladda ner alla nödvändiga tillgångar från länken- http://www.mediafire.com/file/mhusxpaha96zgzq/Assets.zip/file. Den här länken ska ladda ner alla saker och du kanske kan gå vidare med den här metoden. Observera att det finns ett krav på tillgångarna så du måste först slutföra detta steg. För enkel åtkomst till filerna eller tillgångarna du laddar ner, håll dem i en mapp där filerna kan nås.

Mät marken med ARKit

#2 Följ den här guiden i länken- https://mobile-ar.reality.news/how-to/arkit-101-pilot-your-3d-plane-location-using-hittest-arkit-0184060/#jump- steg 2 och skapa sedan AR-projektet i XCode. Det nya projektet du skapar bör ha ett annat namn så att du enkelt kan använda det och känna igen det direkt. Testa också snabbt projektet innan du kör det.

#3 Importera alla tillgångar till ditt nya projekt som skapas i steget ovan. Kom ihåg att välja alternativet Kopiera om det behövs medan du importerar tillgångarna till projektet. Detta är enkelt att göra steget genom alternativen från menyn.

Mät marken med ARKit

#4 Nu inne i filen “ViewController.swift”, måste du modifiera scenskapningsraden i metoden viewDidLoad(). Koden måste ändras från –

låt scen = SCNScene(namn: “art.scnassets/ship.scn”)!
till
låt scen = SCNScene()
Hitta sedan raden på toppen av filen- @IBoutlet var sceneView: ARSCNView! och lägg sedan till koden under it- var grids = [Grid]()

Detta kommer att visa rutnätslinjerna för detekteringen.

#5 Kopiera och klistra in nedanstående koder under de sista lockiga klammerparenteserna i filen:

// 1.
func renderer(_ renderer: SCNSceneRenderer, didAdd nod: SCNNode, för ankare: ARAnchor) {
let grid = Grid(anchor: anchor as! ARPlaneAnchor)
self.grids.append(grid)
node.addChildNode(rutnät)
}
// 2.
func renderer(_ renderer: SCNSceneRenderer, didUpdate nod: SCNNode, för ankare: ARAnchor) {
låt rutnät = self.grids.filter { rutnät in
returnera grid.anchor.identifier == anchor.identifier
}.först

guard let foundGrid = rutnät annat {
lämna tillbaka
}

foundGrid.update(anchor: anchor as! ARPlaneAnchor)
}

#6 Under raden nedan i viewDidLoad():

sceneView.showsStatistics = sant

Lägg till koden sceneView.debugOptions = ARSCNDebugOptions.showFeaturePoints

Och under codelet-konfigurationen = ARWorldTrackingConfiguration()

Add-configuration.planeDetection = .horizontal

#6 Ovanstående kodning kommer att ställa in de horisontella och vertikala linjedetekteringarna med ett rutnät för 3D-detektering, men för mätningarna måste du öppna filen Grid.Swift.

Inuti filen leta efter code-var planeGeometry: SCNPlane!

och Lägg till ny geometrilinje- var textGeometry: SCNText!

#7 Hitta upp till raderna som importerar ARkit nu, det kommer att bli – importera ARKit. Under linjerna och ovanför raderna som skapade rutnätsklassen summeras:

tillägg ARPlaneAnchor {
// tum
var width: Float { return self.extent.x * 39.3701}
var length: Float { return self.extent.z * 39.3701}
}

#8 Efter allt detta, hitta metoden setup(). Ta bort den här metoden och ersätt den med en uppdaterad version av metoden enligt nedan:

private func setup() {
planGeometri = SCNPlane(width: CGFloat(anchor.width), höjd: CGFloat(anchor.length))

låt material = SCNMaterial()
material.diffuse.contents = UIImage(namn:”overlay_grid.png”)

planeGeometry.materials = [material]

let planeNode = SCNNode(geometri: self.planeGeometry)
planeNode.physicsBody = SCNPhysicsBody(typ: .static, form: SCNPhysicsShape(geometri: planGeometry, alternativ: noll))
planeNode.physicsBody?.categoryBitMask = 2

planeNode.position = SCNVector3Make(anchor.center.x, 0, anchor.center.z);
planeNode.transform = SCNMatrix4MakeRotation(Float(-Double.pi / 2.0), 1.0, 0.0, 0.0);

// 1.
låt textNodeMaterial = SCNMaterial()
textNodeMaterial.diffuse.contents = UIColor.black

// Ställ in textgeometri
textGeometry = SCNText(string: String(format: “%.1f\””, anchor.width) + ” x ” + String(format: “%.1f\””, anchor.length), extrusionDepth: 1)
textGeometry.font = UIFont.systemFont(ofSize: 10)
textGeometry.materials = [textNodeMaterial]

// Integrera textnod med textgeometri
// 2.
låt textNode = SCNNode(geometri: textGeometry)
textNode.name = “textNode”
textNode.position = SCNVector3Make(anchor.center.x, 0, anchor.center.z);
textNode.scale = SCNVector3Make(0,005, 0,005, 0,005)

addChildNode(textNode)
addChildNode(planeNode)
}

#9 I slutet av Anchor lockiga hängslen klistra in koden nedan:

if let textGeometry = self.childNode(withName: “textNode”, rekursivt: true)?.geometry as? SCNText {
// Uppdatera text till ny storlek

textGeometry.string = String(format: “%.1f\””, anchor.width) + ” x ” + String(format: “%.1f\””, anchor.length)
}

Mät marken med ARKit

#10 Spara och kör appen efter alla ändringarna ovan och du är klar!

Slutligen, efter att ha läst den här artikeln har du fått veta om metoden genom vilken vem som helst kan kontrollera marken med hjälp av ARKit eller mäta marken genom den. All information som ges här är skriven på ett sådant sätt att vem som helst enkelt kan ta reda på de viktiga aspekterna. Hoppas att du kanske gillar informationen i den här artikeln om den är så, försök gärna dela den med andra också. Dela också dina förslag och åsikter om detta innehåll genom att använda kommentarsektionen nedan. Din överseende med vårt arbete är verkligen tacksam för oss, fortsätt stödja oss och vi skulle alltid komma med all ny fantastisk information. Äntligen men ändå, tack för att du läser detta inlägg!

Leave a Reply