SyntaxTalkstoMe Geschrieben 14. Oktober 2018 Melden Share Geschrieben 14. Oktober 2018 Salve, In dem Sidescroller den ich grade baue, soll die Spielerfigur Feuerbälle schießen können. Der Ausgangspunkt soll dabei natürlich der Spieler sein. Um die Mouse Position abzufragen, hatte ich Vector2 mousePosi = Input.MousePosition; Diesen Vector Wert, wollte ich dann der Startposition hinzuaddieren. Irgendwie hatte sich dass dann so überhaupt nicht so funktioniert, wie ich es wollte. Dann hatte ich gegoogelt und fand diese Lösung Vector3 worldMousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); Jetzt frage ich mich, wo jetzt da genau der Unterschied sein soll? Die Szene hat ja ein Koordinatennetz. Und es spielt ja eigentlich keine Rolle wo die Kamera ist, die Koordinaten sind ja unabhängig. Vielleicht hab ich auch eine völlig falsche Vorstellung von der Sache. Evtl kann mir jemand da den Unterschied erklären. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 14. Oktober 2018 Melden Share Geschrieben 14. Oktober 2018 Input.mousePosition ist die Position der Maus auf dem Bild in Pixeln. Die untere linke Ecke ist (0, 0) und wenn du in Fullscreen auf einem FullHD-Bildschirm spielst ist oben rechts (1920, 1080). Wenn die Kamera sich in deiner Szene bewegt, ändert sich an dieser Definition nichts. Wenn du sie 10m weiter nach rechts verschiebst, dann ist unten links immer noch (0, 0). Allerdings zeigt der Mauszeiger jetzt auf eine andere Stelle in der Szene. Deshalb gibt es ScreenToWorldPosition: Es steckt eine Position auf dem Bild des Spiels in die Kamera, die dann anhand ihrer Position, aber auch ihres Zooms ausrechnet, wo in der Szene sich das gegebene Pixel befindet. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
SyntaxTalkstoMe Geschrieben 14. Oktober 2018 Autor Melden Share Geschrieben 14. Oktober 2018 Danke für die Antwort. Verstanden. 👍 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.