La documentazione di SCNView indica che l'impostazione allowCameraControl su YES non aggiorna la posizione del nodo della telecamera quando l'utente cambia il punto di vista. C'è un modo per ottenere i parametri della telecamera modificati dall'utente quando l'utente cambia il punto di vista?È possibile ottenere la posizione della telecamera SCNView quando si utilizza allowCameraControl?
5
A
risposta
7
Quando si attiva allowsCameraControl
, SceneKit inserisce il proprio nodo della telecamera nella scena (come figlio immediato del nodo radice della scena) e imposta tale nodo come pointOfView
della vista. Leggere le proprietà di quel nodo per conoscere la posizione e l'orientamento della telecamera, o le proprietà di attributo del nodo camera
trovare campo visivo della telecamera di vista, limiti di profondità, ecc
6
Supponendo mySCNView rappresenta l'SCNView ..
@property (weak, nonatomic) IBOutlet SCNView *mySCNView;
Poi si può ottenere la posizione della telecamera da ..
NSLog(@"Camera position: %f %f %f", _mySCNView.pointOfView.position.x, _mySCNView.pointOfView.position.y, _mySCNView.pointOfView.position.z);
NSLog(@"Camera rotation: %f %f %f %f", _mySCNView.pointOfView.rotation.x, _mySCNView.pointOfView.rotation.y, _mySCNView.pointOfView.rotation.z, _mySCNView.pointOfView.rotation.w);
NSLog(@"Camera orientat: %f %f %f %f", _mySCNView.pointOfView.orientation.x, _mySCNView.pointOfView.orientation.y, _mySCNView.pointOfView.orientation.z,_mySCNView.pointOfView.orientation.w);
Nel mio caso, ho acceso allowsCameraControl e regolato la vista, annotato i valori, e li misi alla partenza dell'applicazione. Ho solo bisogno di impostare la posizione e l'orientamento, non la rotazione.
Problemi correlati
- 1. È possibile eseguire la manipolazione bytecode quando si utilizza OSGi?
- 2. La posizione della telecamera della mappa cambia bruscamente senza animazione
- 3. coordinata shader libGDX e posizione della telecamera
- 4. È possibile ottenere la funzione history.back() per funzionare in Chrome quando si utilizza il protocollo file: //?
- 5. Google maps - posizione della telecamera con marcatore in basso
- 6. È possibile ottenere il puntatore alla struttura "this", quando si utilizza l'inizializzatore designato?
- 7. CSS - Link non cliccabile quando si utilizza posizione assoluta
- 8. Transazione di Raccoglitore fallita quando si restituisce l'immagine della telecamera
- 9. Contabilità per la curvatura della Terra quando si utilizza GroundOverlays
- 10. Mantieni solo la parte della data quando si utilizza pandas.to_datetime
- 11. Come ottenere refreshToken quando si utilizza GoogleAuthUtil
- 12. È possibile specificare la colonna Identity quando si utilizza la strategia Fluent Nhibernate Table-Per-Subclass?
- 13. Ottenere dati errati quando si utilizza SimpleDateFormat.parse()
- 14. Strutturazione della documentazione quando si utilizza Doxygen
- 15. Provider sconosciuto: $ rootElementProvider quando si utilizza $ injector per ottenere $ posizione service prima di angular.bootstrap
- 16. È possibile acquisire la risposta dell'utente quando si utilizza la conferma onbeforeunload?
- 17. Quando si utilizza l'espansione della controventatura?
- 18. Evento quando si attiva la posizione: appiccicoso
- 19. Come si impone la posizione y su un nodo quando si utilizza graphviz per disegnare reticoli?
- 20. caricamento DLL ritardato possibile quando si utilizza QMake?
- 21. È possibile memorizzare nella cache la vista quando si utilizza il primo approccio del modello?
- 22. quando si utilizza knitr
- 23. Dove posso trovare l'ID della posizione dell'ubicazione quando si utilizza l'API di Instagram
- 24. È possibile separare la chiave e il valore di un hash quando si utilizza iniettare?
- 25. Android: come ottenere informazioni sulla posizione dagli extra del pacchetto di intenti quando si utilizza LocationManager.requestLocationUpdates()
- 26. Come posso ottenere il componente nella posizione di clic del mouse, quando si utilizza un TableCellEditor?
- 27. Windows phone 7 - È possibile utilizzare la telecamera in Silverlight?
- 28. UIImageView ottenere la posizione della rappresentazione Immagine
- 29. Rilevamento dell'uso attivo della telecamera
- 30. Possibile ritardo quando si utilizza NOW() in MySQL Query?
Non l'ho visto! Devo aver guardato qualche vecchia documentazione. – bugloaf
Non riesco proprio a recuperare questo nodo. Come posso trovarlo? – berfis
@rickster Non riesco a trovare la fotocamera come descritto "come figlio immediato del nodo radice della scena". È sempre zero. "sceneView.scene? .rootNode.childNodes.first? .camera", "sceneView.scene? .rootNode.camera" e "sceneView.scene? .rootNode.enumerateChildNodes ({(nodo, stop) nella stampa (" camera: \ (node.camera) ") }" tutti restituiscono nulla. – zumzum