2017-11-13 3 views
1

Ich habe ein Sprite mit einem PNG-Bild zu einer 16: 9-Szene in Unity hinzugefügt. Wenn ich die Szene auf dem iPad (4: 3-Seitenverhältnis) betrachte, erscheint es verzerrt. Wie kann ich erreichen, dass das Sprite seine Proportion beibehält?Behalten Sie den Anteil eines Sprites in Unity bei

Das Bild auf dem iPad:

enter image description here

auf dem Computer (in Unity):

enter image description here

Hier sind meine Einstellungen.

enter image description here

Ich habe versucht, dieses Skript für die Kamera verwenden, aber es hat nicht funktioniert es vergrößert nur den Charakter und es war immer noch verzerrt. (source):

using UnityEngine; 

public class PixelPerfectCamera : MonoBehaviour { 

    public float pixelsToUnits = 100; 
    private Camera camera; 

    void Awake() { 
     camera = Camera.main; 
    } 

    void Update() { 
     camera.orthographicSize = Screen.height/pixelsToUnits/2; 
    } 
} 

Ich bin mit dem Sprite in einer 2D-Szene mit Unity 5.

+0

Können Sie ein Knacken, welches Bild hinzufügen, sieht aus wie auf beiden Bildschirmen resolutiosn –

+0

Sie müssen die ortografische Größe der Kamera basierend auf der Auflösung anpassen. Das ist, was Sie brauchen https://www.youtube.com/watch?v=yI8JrBNTwkc – Fiffe

+0

@UmairM Nur ein Bild hinzugefügt. –

Antwort

1

können Sie Aspekt Option des Bildes erhalten verwenden. enter image description here

+0

Wenn ich das Bild interaktiv machen muss, wird diese Lösung gut sein? Das Sprite hat diese Option nicht, es ist nur für die Bildkontrolle. Wenn ich dem Sprite ein Bildsteuerelement hinzufüge und "Aspekt beibehalten" festlege, erscheint es immer noch verzerrt. –

+0

@Idan Shechter Sie sollten nicht Image und Sprite verwenden. Verwenden Sie das Bild für die Benutzeroberfläche? – ZayedUpal

+0

nein, das Bild ist für das Zeichen, nicht die Benutzeroberfläche. –

0

Sie verwenden das Sprite auf einem UI/Image, das eine Rect-Transformationskomponente erfordert, wodurch die Größe entsprechend dem Bildschirm geändert wird. Verwenden Sie den Sprite-Renderer für ein leeres Objekt.

Eine Möglichkeit, dies zu schaffen ist Menü:

GameObject-> 2D Object-> Sprite

hoffte, das hilft

Verwandte Themen