Einheit C# - Kamera-zoom-script
So, bevor ich Ihnen mein problem. Ich will zunächst sagen, was ich wirklich tun.
Ich arbeite an einem klicken Sie auf verschieben/zoom-Kamera-Skript. Es gibt 3 Ebenen, die vor meiner Kamera. Nun, was ich zu tun ist, erstellen Sie ein Skript, die sagt " Die Kamera zoomt auf die Ebene, die wird geklickt. Ich machte mehrere versuche zu kommen mit einem Skript arbeiten, aber es hat nicht geklappt. Jedes mal, wenn ich über neue bugs , Fehler und was nicht. 😐
Ich habe frustriert gelöscht und die buggy script. Jetzt will ich von vorne anfangen. Ich mache es in C#
Da ich kein Fachmann bin, Kann jemand mir erklären im detail, um bekommen es zu tun?
Ich bin verwirrt, wie man mit den Flugzeugen die ich platziert. Ich will wissen, was fehlt in meinem Skript.
Hier ist ein screenshot, wie setzte ich diese Flugzeuge.
Bearbeiten. - Ich schaffte es, an ihm zu arbeiten. Nun brauche ich Rat, wie Ziel-die Flugzeuge, die ich vor die Kamera.
using UnityEngine;
using System.Collections;
public class CameraZoom : MonoBehaviour
{
public int zoomLevelSelected = 0;
public float[] ZoomLevels = new float[] { 60, 40, 20 };
void Update()
{
int zoomChange = 0;
if (Input.GetMouseButtonDown(0)) { zoomChange = +1; } //back
else if (Input.GetMouseButtonDown(1)) { zoomChange = -1; } //forward
if (zoomChange != 0)
{
zoomLevelSelected = Mathf.Clamp(zoomLevelSelected + zoomChange, 0, ZoomLevels.Length - 1);
camera.fieldOfView = ZoomLevels[zoomLevelSelected];
}
}
}
- Ein paar der Dinge. Wählen Sie die Ebenen, Physik.Raycast(Docs sollten die Grundlagen erklärt). Als Nächstes ändern Sie nicht das Sichtfeld zu vergrößern, wird mess up Ihre Ansicht. Stattdessen bewegen Sie Ihre Kamera verwandeln.position.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was solls, hier ist ein Weg, um erstellen Sie eine klicken Sie auf zoom. Das wesentliche ist, dass Sie einen Strahl von der Kamera, um die Szene durch den Maus-cursor. Wenn dieser Strahl schneidet ein Objekt erstellen, einen zweiten Strahl von dem Punkt der Kreuzung wieder entlang der sich kreuzenden Gesicht ist normal.
Dinge im Auge zu behalten:
size
Wert der Kamera zu vergrößern.Das problem mit dem Skript ist, dass Ihre var int zoomChange ist immer auf null gesetzt, jedes frame so verschieben, dass die variable auf Klassenebene.