Markus Geschrieben 22. September 2019 Melden Share Geschrieben 22. September 2019 Hy Leute. Ich möchte in meinem game eine Iso Cammera Integrieren (wird ne art diablo clon). Was ich brauche weis ich: 1. Meine x und y position als variable die ich vom Playercode an das Cammerer script übergebe. 2. Eine zuweisung. z.b. cammera.x = player.x; Problem: Ich bin neu in unity und c# weis nicht wie man variablen von einem script an das andere übergibt und mit vectoren arbeitet. Auserdem sol die Cammera natürlich im forher festgelegten Apstand den Player verfolgen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Jomnitech Geschrieben 1. Oktober 2019 Melden Share Geschrieben 1. Oktober 2019 Ich denke du brauchst dann eher die X und Z Koordinaten und die Y Achse ist dann der Abstand von der Kamera zum Spieler. Es sei denn es ist in 2d aufgebaut. Aber ist ja im Prinzip egal welche Werte du verwendest. Du musst hier nichts gross Variablen aus deinem Playerscript an das Kamerascript senden. Du kannst ein kleines Skript erstellen und einmalig den Player als Referenz einfügen, das reicht dann auch schon. z.B.: using UnityEngine; using System.Collections; public class CameraController : MonoBehaviour { public Transform player; public float distance = 5f; void LateUpdate () { transform.position = new Vector3(player.position.x, distance, player.position.z); } } Kannst dann einfach dieses Skript bei der Kamera einfügen. Im Inspektor ziehst du dann den Player in das Feld player und bei distance kannst du den abstand einstellen. Die Kamera selbst stellst du über den Inspektor und deren Rotation einmalig auf isometrische Ansicht ein. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Thariel Geschrieben 1. Oktober 2019 Melden Share Geschrieben 1. Oktober 2019 Ich würde es so machen: using UnityEngine; using System.Collections; public class CameraController : MonoBehaviour { public Transform player; public float speed = 5.0F; public Vector3 offset = new Vector3(0, 5, 0); void Update () { transform.position = Vector3.Lerp(transform.position, player.transform.position, speed * Time.deltaTime) + offset; } } Jetzt das Script auf die Kamera legen und den Player auf den Slot ziehen. Jetzt verfolgt die Kamera den Player in einer flüssigen Bewegung. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Hermetes Geschrieben 2. Oktober 2019 Melden Share Geschrieben 2. Oktober 2019 Markus, die Camera Programmierung ist eines der schwierigsten Dinge in Unity. Da solltest du zuerst an andere Dinge ran. Mit Camera.main kannst du übrigens deine Camera von einem anderen Script aus ansprechen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 3. Oktober 2019 Melden Share Geschrieben 3. Oktober 2019 vor 21 Stunden schrieb Hermetes: Markus, die Camera Programmierung ist eines der schwierigsten Dinge in Unity. Da solltest du zuerst an andere Dinge ran. Da würde ich nicht zustimmen wollen. Es ist sogar ein ganz hervorragendes Thema, um sich mit einigen wichtigen Grundkonzepten für vernünftige Architektur in Unity auseinanderzusetzen. Hier gibt's dazu etwas zum Lesen: http://blog.13pixels.de/2019/creating-a-camera-setup-in-unity/ 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.