Trasforma il tuo gioco Unity su tutti i fattori di forma

Nell'attuale mercato dei giochi, è più importante che mai raggiungere il più ampio pubblico possibile. Sviluppando giochi per diversi fattori di forma, come smartphone, tablet, pieghevoli e desktop, puoi attingere a un pool più ampio di potenziali giocatori e aumentare le probabilità di successo.

Supporta il ridimensionabilità dello schermo

Per supportare diversi fattori di forma, il gioco deve essere ridimensionabile. La ridimensionabilità consente al gioco di supportare configurazioni del dispositivo come l'orientamento verticale e orizzontale, la modalità multi-finestra e lo stato piegato e aperto di dispositivi pieghevoli.

Se il gioco non supporta tutte le configurazioni di dimensioni e orientamento delle finestre, la piattaforma applica il formato letterbox al tuo gioco in modalità di compatibilità e, se necessario, invia una richiesta al player prima di passare a una configurazione non supportata.

Figura 1. Finestra di dialogo per la compatibilità della configurazione.

Per scoprire di più, consulta Supportare il ridimensionamento di schermi di grandi dimensioni.

Modalità multi-finestra

Figura 2. Diverse UI su desktop e pieghevoli in una posizione da tavolo.

La modalità Multi-finestra consente a più app di condividere lo stesso schermo contemporaneamente. Le app possono essere affiancate o una sopra l'altra (modalità schermo diviso), un'app in una piccola finestra sovrapposta ad altre app (modalità Picture in picture) o singole app in finestre ridimensionabili e rimovibili separate (modalità in formato libero).

Per evitare di entrare in modalità di compatibilità quando il gioco viene eseguito in modalità multi-finestra, dichiara che il gioco è in grado di gestire la ridimensionabilità abilitando l'opzione Finestra ridimensionabile nelle impostazioni della build Unity.

Figura 3. Impostazioni di Unity per risoluzione e presentazione per Android.

Ritagli display

Un ritaglio del display è un'area di alcuni dispositivi che si estende fino alla superficie del display. I ritagli consentono un'esperienza a livello perimetrale, fornendo allo stesso tempo spazio per sensori importanti sulla parte anteriore del dispositivo.

Figura 4. Ritaglio del display.

Per offrire un'esperienza a livello perimetrale al tuo gioco, configuralo in modo che sia consapevole del SafeFrame. Esegui una query sull'API SafeArea di Unity per ottenere l'area sicura dello schermo in pixel e modifica di conseguenza l'UI e l'UX del gioco, soprattutto per gli elementi con cui gli utenti possono interagire.

Posture pieghevoli

I dispositivi pieghevoli possono essere in vari stati piegati, ad esempio FLAT (completamente aperto) o HALF_OPENED (un po' tra quelli completamente aperti e completamente chiusi). Quando un dispositivo è nello stato HALF_OPENED, sono possibili due posizioni, a seconda dell'orientamento della piegatura: postura da tavolo (piega orizzontale) e postura del libro (piega verticale). Usa la postura da tavolo per aumentare il coinvolgimento e il coinvolgimento dei giocatori.

Figura 5. Gioco in posizione da tavolo con vista principale sulla parte verticale del display e controlli nella parte orizzontale.

Per implementare la postura da tavolo, estendi l'attività Unity predefinita, quindi utilizza la libreria di layout Jetpack WindowManager per rendere sensibile il tuo gioco.

Progetto Unity di esempio

Il progetto di esempio Unity si basa sul progetto dimostrativo Unity 2D Lost Crypt. Il progetto di esempio mostra come supportare il ridimensionabilità degli schermi di grandi dimensioni in Unity. Il supporto per schermi di grandi dimensioni e dispositivi pieghevoli richiede una serie di modifiche alle opzioni di build Unity, nonché considerazioni sul layout della fotocamera e dei canvas UI.

Il progetto di esempio è disponibile per il download ora. Il progetto contiene quattro diverse scene:

  • Originale: supporto per la funzionalità ridimensionabile di base
  • Ancoraggio: come la scena "Originale", ma si adatta a varie proporzioni ed evita il ritaglio del display
  • HingeAware: corrisponde alla scena "Ancoraggio", ma supporta la posizione da tavolo
  • Menu principale: l'avvio della scena consente di passare alle altre scene e supporta completamente tutti gli orientamenti del dispositivo, la piegatura, l'apertura e la posizione da tavolo

Quando crei per Android, seleziona tutte le scene e imposta la scena "Menu principale" come scena iniziale.

Figura 6. La scena "Menu principale" consente di passare alle altre scene utilizzando la posizione da tavolo.

Inizia con il supporto delle finestre ridimensionabili

Implementa il supporto di diverse dimensioni di visualizzazione e proporzioni nell'applicazione Android per schermi grandi per garantire che il tuo gioco o la tua applicazione vengano visualizzati correttamente su dispositivi diversi. Consenti al tuo gioco di ridimensionare e modificare le proporzioni impostando la proprietà Finestra ridimensionabile nelle impostazioni della build Unity (consulta la sezione "Modalità multi-finestra"). Regola le proporzioni della fotocamera e del canvas per adattarle meglio ai diversi schermi. Visualizza le impostazioni del progetto in Impostazioni build e nel file Plugins/Android/AndroidManifest.xml. Prova la funzionalità ridimensionabile a schermo intero nella scena "Originale" del progetto.

Figura 7. La scena "Originale" supporta la funzionalità Finestra ridimensionabile.

Goditi l'esperienza immersiva a schermo intero gestendo i ritagli del display

Consenti al gioco di utilizzare l'intero schermo per rendere il gameplay coinvolgente e un'esperienza utente migliore. Aggiorna le impostazioni di ancoraggio della UI del gioco in modo che si adattino automaticamente alle dimensioni dello schermo. In questo modo gli elementi UI possono mantenere le proprie posizioni rispetto alle dimensioni dello schermo.

La scena "Ancoraggio" utilizza lo script CameraAspectLock per rispondere alle modifiche alla configurazione del dispositivo in base a mezzi di attività estesa (vedi Assets/Plugins/Android/LargeScreenPlayableActivity.java). L'API SafeArea di Unity è mostrata nello script SafeZoneAPI, che si associa all'oggetto SafeZone all'interno della scena "Ancoraggio".

Scena di gioco a schermo intero su display interno ed esterno di un dispositivo pieghevole.
Figura 8. Scena di "ancoraggio" con ritaglio del display.

Ottimizza per i dispositivi pieghevoli

L'ultima scena del progetto Unity di esempio, "HingeAware", contiene un oggetto ConfigurationManager che risponde ai diversi stati di piegatura del dispositivo di destinazione tramite le API della libreria Jetpack e un'attività estesa (vediAssets/Plugins/Android/LargeScreenPlayableActivity.java). La scena utilizza lo script PanelOnFold per controllare l'UI in base allo stato di piegatura del dispositivo, ad esempio mostra il riquadro inferiore del controller quando il dispositivo si trova nella posizione da tavolo e regola il pannello della fotocamera.

Figura 9. La scena "HingeAware" supporta la postura da tavolo.