2015-11-09 22 views
5

Ho un'app, creata con unità 2d. Esportandolo su Android pesa 100 MB. Esportarlo su iOS pesa 1,2 GB (ipa è 104 MB), ma all'interno di iTunes pesa 1,2 GB, che è troppo.Unity App per iOS ha un peso di 1,2 GB (dimensioni reali) (Android 100 MB)

Abbiamo provato a ridurre la dimensione della trama, ma in seguito le immagini sono state molto pixel sul dispositivo.

Qualche idea su come risolvere questo problema?

Ecco ciò che il .ipa non compresso mostra ciò che sta ottenendo tutti i MB:

sharedassets4.assets (solo quel file, ottiene 342 MB)

+0

Hai compresso le tue mesh? Anche codice bit strip. Un'altra cosa che ho trovato utile è l'appiattimento delle trame e la rimozione dei livelli. Modifica anche il numero di colori indicizzati su un valore inferiore. Per 1024x1024 può arrivare a 170KB, se lo modifichi correttamente. Rimuovi anche le mappe normali e cambia i tuoi ombreggiatori. Non sembrerà granulare, ma ridurrà le dimensioni. Potresti voler scaricare le trame anche su un Asset Server. – ApolloSoftware

risposta

0

Verificare le opzioni di importazione di texture. Potresti avere diverse opzioni impostate per l'importazione Android e l'importazione iOS.

L'importazione iOS è in genere PVRTC, che preferisce trame che hanno una potenza di due dimensioni e quadrate (256x256, 512x512, ecc.).

Mi sembra che tu possa avere iOS impostato su un formato non compresso.

+0

grazie per la risposta. a quanto pare le immagini non hanno il potere di 2 dimensioni ... e nemmeno sono quadrate ... pensi che ci sia qualcosa da fare lì? per risolverlo? –

+1

Non posso commentare senza ulteriori informazioni sulle immagini, il tuo progetto e le sue impostazioni. – Almo

2

iTunes mostra la dimensione di installazione, quindi se si decomprime il file ipa, si otterrà 1,2 GB. La dimensione dell'installazione su Android potrebbe anche essere così grande. L'hai controllato?

Di solito questo accade quando si comprime la trama in True Color o 16 bit e la compressione zip funziona molto bene, ad esempio su trame che hanno molti pixel con gli stessi colori.

Possibili soluzioni

1) se le texture non richiedono la trasparenza, si potrebbe passare per le texture compresse (PVRTC su iOS e ETC su Android). Ma se si richiede trasparenza, non si dovrebbe passare a compressi perché il PVRTC trasparente può apparire molto brutto e ETC non supporta l'alfa.

2) Non so se è possibile nel tuo progetto, ma potresti provare a ridurre la quantità di texture usando la tinta o affettandole.

UPDATE 1

Attualmente avente una situazione simile e come si scopre.

-------------------------------------------- 
| Platform    Android iOS  | 
|--------------------------------------------| 
| APK/IPA     380MB  400 MB | 
| unzipped APK/IPA  1.19 GB 1.13 GB | 
| install size on device 380MB  1.15 GB | 
-------------------------------------------- 

La differenza è che iOS decomprime il file IPA completamente sul installazione e
Android contrario si legge durante l'esecuzione direttamente dal APK, così si potrebbe obiettare, che non è realmente installato, ma è sicuramente un altro tipo di installazione.

+0

grazie per la risposta. . sì, controllo per Android è solo 100mb ... 100% sicuro !! .... 1. sì, le immagini richiedono trasparenze. 2. proverò con la tinta –

+0

@JeanLuc ** RE ** _ "Ma se la trasparenza richiede, non dovresti passare a compresso perché PVRTC trasparente può apparire molto brutto" _ Ciò può dipendere piuttosto da cosa è nascosto nelle aree trasparenti della tua trama. Ho visto parecchi casi in cui i dati di colore nelle aree alfa = 0 sono "spazzatura totale", ma il compressore deve ancora provare a rappresentarlo, perché non sa come verranno utilizzati quei dati, ad es. quale modalità di fusione o anche se è alfa a tutti! Per PVRTC1 quando A = 0 tenta di rendere i dati del colore più simili al vicinato più vicino possibile. –

+0

@SimonF: questo è un buon consiglio, grazie! Lo terrò a mente. – JeanLuc

0

Hai compresso le tue mesh? Anche codice bit strip. Un'altra cosa che ho trovato utile è l'appiattimento delle trame e la rimozione dei livelli. Modifica anche il numero di colori indicizzati su un valore inferiore. Per 1024x1024 può arrivare a 170KB, se lo modifichi correttamente.

Rimuovere anche le mappe normali e modificare gli ombreggiatori. Non sembrerà granulare, ma ridurrà le dimensioni. Potresti voler scaricare le trame anche su un Assets Server e ottenere trame in fase di runtime invece di precaricarle nelle risorse in dotazione.

Problemi correlati