Come prevenire i lag nei giochi fatti con Unity per Android e iOS
L'ottimizzazione è una delle cose più importanti quando si pubblica un gioco. All'interno di Unity 3D, ci sono due cose da cercare che influenzano le prestazioni dei giochi.
Sono Drawcalls e Triangles. Entrambi hanno un impatto significativo sulle prestazioni.
Drawcalls si riferisce alla quantità di texture e all'aspetto grafico di un gioco. Quindi, se avete un sacco di texture diverse e mappe normali, ecc. Le Drawcalls aumenteranno e colpiranno le prestazioni. Una soluzione a questo è il Baking delle texture, cioè trasformare tutte le texture in una grande immagine o texture su cui si basano tutti gli oggetti. Con questo non si può più cambiare la texture di un elemento specifico perché tutto è mappato ed è per questo che è l'ultimo passo.
Il secondo problema sono i triangoli. Questo è un grosso problema in quanto influisce maggiormente sulle prestazioni. In 2-3 anni, idealmente, la quantità di triangoli in una "Game View" dovrebbe essere di circa 20-40K. Oggi è fino a 60-100K a volte, questo per il mobile. Ridurli dipende davvero dagli oggetti nei vostri giochi. Per esempio se avete molti alberi dovreste rimuoverli o un ambiente enorme.
Un'altra soluzione è usare l'Occulsion Culling che fa solo il rendering di ciò che il giocatore vede e cancella tutto il resto, aiutando così le prestazioni. Per esempio, se un muro sta bloccando la vista dietro di esso, non renderizzerà ciò che c'è dietro, quindi le prestazioni richieste saranno inferiori. Comunque normalmente renderizzerebbe tutto.
Altri rapidi trucchi includono la riduzione della distanza di rendering/campo visivo. Si può guadagnare istantaneamente un sacco di prestazioni. Basta aggiungere la nebbia e sembrerà che la nebbia stia bloccando lo sfondo, ma non viene renderizzato nulla.
Altri suggerimenti sono la riduzione delle dimensioni delle texture durante l'importazione. Si riduce anche la dimensione dell'APK finale.
Spero che questo aiuti.
Articoli simili
- Unity vs Unreal 2018, Unreal è ancora significativamente migliore nelle prestazioni? O Unity può ora sviluppare giochi di livello quasi AAA/PS4?
- Se faccio un gioco con Unity craccato, posso metterlo in Google Play? Scopriranno che ho usato Unity craccato? Come?
- Perché ci sono così tanti brutti giochi fatti su Unity?
- Quanto bene devo conoscere C# per sviluppare giochi Android e iOS in Unity?