Hello world - Unity - Asset import settings best practies

Models Import Settings


Negli import settings dei modelli ci sono diverse flag, ovviamente le opzioni variano da modello a modello. L’idea di massima e’ selezionare solo quelle che ci interessano ed evitare di importare qualsiasi cosa non necessaria. Di seguito alcuni esempi:




  • Read/Write enable: NO a meno che non serva modificare la mesh a runtime..
  • Import blendshapes: NO
  • Import Materials: NO unity importa i materiali nella stessa cartella dei modelli e genera disordine. Inoltre spesso non e’ in grado di scegliere shader e texture correttamente. Tanto vale farseli a mano cosi siamo sicuri di non sbagliare.
  • Generate Colliders: NO
  • Generate LM UVS: DIPENDE SE STATICI CON LIGHTMAP
  • Optimize Mesh: SI
  • Normals: meglio importarle se il modello le ha, altrimenti farle generare.. di norma servono sempre.
  • Tangents: se le ha importarle altrimenti generarle SOLO SE si usano Bumpmap o simili
  • Rig->Animation Type: sempre None se non e’ un modello animato, altrimenti Unity li crea automaticamente (animator, etc) uccidendo le performance.


WorkFlow


Qui alcune cose da tenere in considerazione sempre lavorando.


Console



La prima volta che un asset viene importato, se Unity non riconosce qualcosa sputa qualche warning o error nella console. Attenzione: una volta importato e clearata la console il warning non compare piu’ quindi poi va perso(salvo reimport forzoso e neanche sempre).

Ogni volta che importiamo un asset di qualsiasi tipo (script compresi), controlliamo la console. A volte i warning sono innocui (un modello di un cubo senza normali e’ plausibile, facciomole calcolare a unity) a volte possono tradursi in un errata importazione.


Save Project



Quando si modificano:


  • import settings
  • project settings
  • prefab
  • asset nel progetto (non istanze di asset in scena)


E’ molto probabile che sia necessario dire a unity di salvare il progetto: File->Save Project . A quello che ho capito flusha una cache dell’asset db. Se non si fanno certe modifiche non appaiono su git, quindi ve le tenete in locale a voi sembra che vada tutto, ma quando un altro scarica il progetto l’asset db e’ incosistente.


es.
  1. Modifico un settings su un prefab
  2. Non faccio save project e guardo git : mi dice che non ho modificato nulla
  3. Faccio save project e ora git vede che il file che stora le mie modifiche e’ effettivamente modificato
  4. Posso committare


GIT



Unity non si integra benissimo, alcune cose a cui stare attenti:


Asset modificati involontariamente o da Unity .



A volte succede che si modifichi un file senza volerlo o che Unity lo modifichi per qualche ragione oscura (es.line endings). Questo può creare conflitti o in ogni caso complicare la lettura della history del repo.


Best Practice: committare solo i file che siamo sicuri che di avere modificato. Inoltre tenere a mente quali file corrispondono a un tipo specifico di modifica.

Es. modifico un animation curve, che file devo committare? (in sto caso il meta relativo al modello su cui e’ esportata la clip)

Commenti

Post popolari in questo blog

Indovinello: Soluzioni!!!

Gli indovinelli che ci avete mandato 10