Bewegen der Kamera Über Gelände Mit der Touch-Eingabe in Unity 3D
Ich bin neu in Unity und ich bin versucht, herauszufinden, wie man die Kamera bewegt sich über eine Karte/Gelände mit der touch-Eingabe. Die Kamera würde den Blick auf das Gelände mit einer Drehung von (90,0,0). Das Gelände ist auf layer 8. Ich habe kein problem damit bewegt es sich mit der Tastatur, jetzt versuche ich, zu bewegen, zu berühren und es ist sehr anders, wenn Sie wollen, zu halten, zu erwartende Nutzung auf iOS.
Das beste Beispiel, das ich denken kann auf einen eingebauten iOS-app Maps, wo der Benutzer den Bildschirm berühren und diesen Punkt auf der Karte bleiben würde unter den finger so lange wie der finger blieb auf dem Bildschirm. So bewegt der Benutzer seinen finger erscheint die Karte zu bewegen mit dem finger. Ich habe nicht in der Lage, Beispiele zu finden, die zeigen, wie zu tun es auf diese Weise. Ich habe gesehen, möglicherweise Beispiele, die Kamera zu bewegen, oder den Charakter mit der Maus, aber Sie scheinen nicht zu übersetzen, der gut zu diesem Stil.
Auch geschrieben auf Unity3D Antworten:
http://answers.unity3d.com/questions/283159/move-camera-over-terrain-using-touch-input.html
Im wesentlichen ja, wenn ein Benutzer legt Ihren finger auf dem Bildschirm der Bereich Gelände - /Karte unter die finger bleiben sollte, unter Ihrem finger, als Sie es bewegen.
InformationsquelleAutor Rodney S. Foley | 2012-07-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Unten sollte das sein, was Sie brauchen. Beachten Sie, dass es ist schwierig, eine 1-zu-1-Entsprechung zwischen finger/Mauszeiger und das Gelände, wenn man eine "Perspektive" - Kamera. Wenn Sie ändern Sie die Kamera auf orthographic, das script unten sollte Ihnen eine perfekte Karte zwischen finger - /cursor-position und der Karte möglich. Mit "Perspektive" werden Sie feststellen, einen leichten Versatz.
Könnte man dies auch mit der ray-tracing-aber ich habe festgestellt, dass die route zu schlampig und nicht so intuitiv.
Kamera-Einstellungen für die Prüfung (die Werte sind gezogen aus der Inspektor, so gelten Sie dort):
Tut Eingang.GetMouseButtonDown Arbeit für den touch?
Ja.
(Input.GetMouseButtonDown(0))
entspricht(Input.touchCount>0 && Input.GetTouch(0).phase == TouchPhase.Began)
oder es wurde mit Unity 3.5. Habe nicht versucht, in version 4.xInformationsquelleAutor Jerdak
Habe ich mit diesem script (habe ich angehängt, es auf der Kamera):
InformationsquelleAutor Pavel Galaton
Pavel Antwort hat mir sehr geholfen, so teilen wollte, meine Lösung mit der community, falls es anderen hilft. Mein Szenario ist eine 3D-Welt mit einer orthografischen Kamera. Ein top-down-Stil RTS ich auf Arbeit bin. Ich möchte die Schwenk-und zoom funktionieren wie bei Google Maps, wo die Maus bleibt immer an der gleichen Stelle auf der Karte an, wenn Sie pan und zoom. Dieses Skript erreicht dies, für mich, und hoffentlich ist er robust genug, um arbeiten für die Bedürfnisse anderer. Ich habe es noch nicht getestet, eine Tonne, aber ich kommentierte das heck aus es für Anfänger zu lernen.
InformationsquelleAutor eselk
InformationsquelleAutor sfdsa