får fly størrelse fra Ray Casting

stemmer
0

Ifølge denne artikkelen ved eple Ray-Casting og Hit-testing . Jeg skal bruke raycasting levert av RealityKit å oppdage overflatene i stedet for treffet testing levert av ARKit som Apple sier

men treff-testing funksjoner er til stede for kompatibilitet

. Men jeg kan ikke finne en måte å vite omfanget av overflaten oppdaget av raycast spørringen.

Så ifølge denne koden:

    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)
}

Jeg forventer at flyet jeg skaper ville få størrelse og plassering av flyet oppdaget. Men dette skjer ikke.

Så mitt spørsmål er, er raycasting egnet for deteksjon av overflater størrelse og plassering. Eller er det bare for å sjekke om 2d punktet er en overflate eller ikke.

Publisert på 09/10/2019 klokken 23:55
kilden bruker
På andre språk...                            


1 svar

stemmer
0

En Apple Dokumentasjon sier her :

Raycast eksempel metode utfører en konveks stråle støpes mot alle geometrien i scenen for en stråle av en gitt opphav, retning og lengde .

og her :

Raycast eksempel metode utfører en konveks stråle støpt mot alle geometrien i scenen for en stråle mellom to endepunkter .

I begge tilfeller raycast metoder blir brukt for å detektere skjæringspunkter . Og i begge tilfeller disse metodene returnere en rekke sammenstøt kastet hit resultater .

Det er alt raycast ble laget for.

Svarte 10/10/2019 kl. 21:53
kilden bruker

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