ottenere dimensioni aereo da Ray Casting

voti
0

Secondo questo articolo di mela Ray-Casting e Hit-Testing . Dovrei usare ray casting fornito da RealityKit per rilevare le superfici invece di hit testing fornito da Arkit come dice mela

ma le funzioni hit-test rimangono presenti per compatibilità

. Tuttavia, non riesco a trovare un modo per conoscere l'entità della superficie rilevata dalla query raycast.

Quindi, secondo questo codice:

    func startRayCasting() {

    guard let raycastQuery = arView.makeRaycastQuery(from: arView.center,
                                                 allowing: .estimatedPlane,
                                                alignment: .vertical) else {
        return
    }

    guard let result = arView.session.raycast(raycastQuery).first else {
        return
    }


    let transformation = Transform(matrix: result.worldTransform)
    let plane = Plane(color: .green, transformation: transformation)
    plane.transform = transformation
    let raycastAnchor = AnchorEntity(raycastResult: result)
    raycastAnchor.addChild(plane)
    arView.scene.addAnchor(raycastAnchor)
}

Mi aspetterei che il piano sto creando otterrebbe la dimensione e la posizione del piano rilevato. Tuttavia questo non accade.

Quindi la mia domanda è, è colata raggi adatto per rilevare le dimensioni e la posizione delle superfici. O è solo per controllare se il punto 2d è una superficie oppure no.

È pubblicato 10/10/2019 alle 00:55
fonte dall'utente
In altre lingue...                            


1 risposte

voti
0

Una documentazione Apple dice qui :

Raycast Metodo esempio esegue un raggio convesso gettato contro tutta la geometria nella scena per un raggio di una determinata origine, la direzione e la lunghezza .

e qui :

Raycast Metodo esempio esegue un getto raggio convesso contro tutta la geometria nella scena per un raggio tra due punti finali .

In entrambi i casi si utilizzano metodi Raycast per rilevare intersezioni . E in entrambi i casi questi metodi restituiscono un allineamento del cast in collisione colpito risultati .

Questo è tutto raycast è stato fatto per.

Risposto il 10/10/2019 a 22:53
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more