Ich habe die Position und Ausrichtung meiner Kamera, die CGPoint Touch-Position auf dem Bildschirm, brauche ich die Linie (vorzugsweise Vektor) in der Richtung, die ich auf dem Bildschirm in meinem 3D berührt SCNNode-Umgebung, wie bekomme ich das?
Ein Code-Snippet wäre sehr hilfreich.Get Vektor in SCNNode-Umgebung von Touch-Standort swift
Antwort
Sie können dazu die Methode SCNSceneRenderer.unprojectPoint(_:)
verwenden.
Diese Methode, die von SCNView
implementiert wird, verwendet die Koordinaten Ihres Punktes als SCNVector3
. Legen Sie die ersten beiden Elemente im Koordinatenraum Ihrer Ansicht fest. Apple die Verwendung des dritten Elements beschreibt:
Die z-Koordinate des Punkts Parameter beschreibt die Tiefe, in der der Punkt in Bezug auf die nahen und fernen Abschneideebenen des Renderers des Frustum Culling auf unproject (definiert durch seine PointOfView Knoten). Wenn ein Punkt, dessen Z-Koordinate 0.0 ist, nicht projiziert wird, wird ein Punkt auf der nahen Beschneidungsebene zurückgegeben. Unprojected ein Punkt, dessen z-Koordinate 1,0 ist, gibt einen Punkt auf der fernen Clipping-Ebene.
Sie suchen nicht nach der Position dieser Punkte, sondern nach der Linie, die sie verbindet. Subtrahiere beide, um die Linie zu bekommen.
func getDirection(for point: CGPoint, in view: SCNView) -> SCNVector3 {
let farPoint = view.unprojectPoint(SCNVector3Make(point.x, point.y, 1))
let nearPoint = view.unprojectPoint(SCNVector3Make(point.x, point.y, 0))
return SCNVector3Make(farPoint.x - nearPoint.x, farPoint.y - nearPoint.y, farPoint.z - nearPoint.z)
}
- 1. swift get currency von Ländercode
- 2. Get Länge von Läufen von fehlenden Werten in Vektor
- 3. Get Bildhöhe von x Punkt in Swift
- 4. Get HTML von WKWebview in Swift
- 5. Get Bundle-Referenz von Path in Swift
- 6. Three.js Get Camera lookAt Vektor
- 7. Swift: get self.description in self.description
- 8. Get Suchleiste Text in Swift
- 9. UITableView get titleForHeadersInSection swift
- 10. Get JSON Element swift
- 11. Swift - get Klassennamen
- 12. Swift Get City von der Postleitzahl
- 13. Boost :: Variante - Get Vektor Eigenschaft der Mitglieder
- 14. Swift get Inhalt von HTML vom url
- 15. Vektor von Tuples in C++
- 16. Alamofire Swift get html Quelle
- 17. Get Wert Eigenschaft mit Firebase in Swift
- 18. Get Zeichenfolge aus JSON Array in Swift
- 19. Get Bild-Dateityp programmgesteuert in swift
- 20. Anzeigen GET Anfrage Ergebnisse in Swift Playground
- 21. Get Klassennamen in Bequemlichkeit init Swift 3
- 22. Swift encode & im GET-Parameter
- 23. Get Json Daten von PHP-Seite in Swift 3
- 24. Get Instance Of ViewController Von AppDelegate In Swift
- 25. Swift - Get NSBundle für Testziel?
- 26. Get GCD-Label in Swift 3
- 27. Get Visible IndexPath UICollectionView in Swift
- 28. Firebase queryEqualToValue get Schlüssel in Swift 2.3
- 29. Get Model Objekt als Array in Swift
- 30. Get Objective-C-Schnittstelle in Swift?
sehr geschätzt, danke – brw59