Jump to content
Unity Insider Forum
Markus

Iso Cammera.

Recommended Posts

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
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/

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...