it-swarm.dev

Come posso programmare il mio gioco per funzionare su ogni risoluzione dei dispositivi Android? (con Unity)

Ho un gioco che ho realizzato con risoluzione 480x320 (l'ho impostato nelle impostazioni di build) in Unity. Ma vorrei pubblicare il mio gioco per ogni dispositivo Android con ogni risoluzione. Come posso farlo, dire a Unity di ridimensionare il mio gioco fino alla risoluzione del dispositivo? È possibile farlo? 

Grazie in anticipo!

11
Zwiebel

La risposta alla tua domanda dipende in gran parte da come hai implementato il gioco. Se lo hai creato utilizzando le texture GUI, dipende in gran parte da come hai posizionato/ridimensionato gli oggetti rispetto alle dimensioni dello schermo, il che rende le cose un po 'complicate.

Se la maggior parte del gioco è fatta usando oggetti (come aerei, cubi, ecc.), Allora ci sono due metodi che di solito scelgo di usare.

1) Il primo metodo è molto facile da implementare, anche se non sembra sempre troppo bello. Puoi semplicemente modificare le proporzioni della fotocamera in modo che corrispondano a quelle su cui hai progettato il gioco. Quindi nel tuo caso, dal momento che hai progettato il tuo gioco a 4: 3, avresti fatto qualcosa del genere: 

Camera.aspect = 4f/3f;

Tuttavia, se qualcuno sta giocando su uno schermo pensato per 16: 9, il gioco finirà per apparire distorto e allungato.

2) Il secondo metodo non è così semplice, richiede un bel po 'di lavoro e calcoli, ma ti darà un risultato molto più pulito. Se si utilizza una fotocamera ortografica, una cosa importante da tenere presente è che indipendentemente dalla risoluzione dello schermo utilizzata, la fotocamera ortografica mantiene l'altezza a un'altezza impostata e modifica solo la larghezza. Ad esempio, con una fotocamera ortografica di dimensioni pari a 10, l'altezza sarà impostata su 2. Con questo in mente ciò che dovresti fare è compensare la videocamera più ampia possibile all'interno di ogni livello (ad esempio, avere uno sfondo ampio ) o modificare dinamicamente le dimensioni ortografiche della telecamera fino a quando la sua larghezza corrisponde a ciò che hai creato.

Se hai fatto un gioco 3D con una macchina stereoscopica, la risoluzione dello schermo non dovrebbe influenzare il suo aspetto, ma suppongo che dipenda dal gioco, quindi sarebbero necessarie più informazioni

16
Steven Mills

Il modo in cui ho fatto è cambiare la vista della videocamera in base alle proporzioni del dispositivo Considerate che avete realizzato il gioco per 800x1280

Puoi farlo in uno qualsiasi degli script 

float xFactor = Screen.width / 800f;
float yFactor = Screen.height  / 1280f;


Camera.main.rect=new Rect(0,0,1,xFactor/yFactor);

e questo funziona come per magia

9
Rohit

Un modo semplice per farlo è prendere in considerazione il tuo obiettivo, voglio dire se stai facendo un gioco per Iphone 5, allora le proporzioni sono 9:16 v o 16: 9 h.

   public float targetRatio = 9f/16f; //The aspect ratio you did for the game.
void Start()
{
   Camera cam = GetComponent<Camera>();
   cam.aspect = targetRatio;
} 
1
Nelson Austria