Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Temas recientes

[TIPS] Unity Tips en una linea

Iniciado por _davidlopez29, Octubre 25, 2019, 02:32:48 PM

Tema anterior - Siguiente tema
Octubre 25, 2019, 02:32:48 PM Ultima modificación: Octubre 29, 2019, 12:27:54 AM por _davidlopez29


Voy a reunir pequeños tips de Unity que se pueden resumir en pocas frases. Esta lista se irá agrandando poco a poco en el futuro. Podéis añadir los vuestros si queréis. La idea es TIP + imagen representativa. 
 



  •    


          Puede usar el atributo MenuItem para agregar menús contextuales que pueden llamar a funciones estáticas. Además, si desea crear teclas de acceso rápido, puede agregar caracteres especiales ("%" para ctrl, "#" para shift, "&" para alt) 
       




               
 


              
 
 
 



  •    


          Recuerde guardar las cadenas repetidas en una variable constante.
       




             
 
 
 



  •    


          Verifique que su sistema de partículas tenga un culling automático. Si no tiene,revise las razones o use CullingGroup
       



             
 
 
 


  •    


          Puede usar el atributo ContextMenu para probar su código en la ventana del editor
       



           
 


 
 



  •    No olvide optimizar sus Animators con el modo de selección. Esto deshabilita la animación cuando no son visibles.



           
 


 


¡¡¡Lo del ContextMenu no lo sabía!! ¡¡Vaya puntazo!!!  

Octubre 29, 2019, 12:24:00 AM #2 Ultima modificación: Octubre 29, 2019, 12:38:16 AM por _davidlopez29
 
 


  •    Puedes asegurarte de que una variable no es nula añadiendo '?' antes de acceder a ella.



               
 
 
 



  •    


          Puedes crear strings con variables dentro añadiendo '$' delante y las variables entre corchetes.
       




               
 
 
 



  •    


          Puedes sacar un material de un shader concreto creándolo con el shader seleccionado. 
       




                
 


 
 


 
 





  •    


          Puedes cambiar la respuesta de Unity cuando realizas cambios en un script mientras estás en Play. Sólo tienes que ir a Edit/Preferences/General
       




               

 
 



  •    


          Puedes cambiar la configuración del orden de transparencia desde Project Settings/Graphics. Muy útil para juegos 2D donde quieras controlar el orden de pintado en función de su Y.
       




                 



1 - Verificar si un objecto es nullo mediante ? crea un objeto que indica si el valor es nulo o igual al default y el valor en si, esto genera una sobre carga de memoria por lo que usarlo dentro del Update generara bastante basura. Lo mejor es utilizar el simple flag de siempre en casos de constanste actualización y hacerlo con "is null" if (obj is null) o if (!(obj is null)). Sin embargo esta aplicación tiene sentido en Eventos donde los registros pueden contener una referencia nulas.
 
2 - Los String con Format complex utilizando "$" son mucho mas complicados para el CLR, costosa, y con mayor cantidad de memoria derrochada, que la simple concatenación. Para crear String lo mejor es utilizar StringBuilder. Sin embargo, para realizar la concatenación esto es mas practico y simple, anteriormente se utilizar String.Format que tenia un costo mayor y era bastante menos practico.
 
¡En resumen, estos tips son para practicidad sacrificando rendmiento y recursos!
 
Los otros me parecen bien, esta bueno tener estos tips de forma sintetica, y que cada cual busque por su cuenta el ¿POR QUE? - 

Cita de: francoe1 date=15849156911 - Verificar si un objecto es nullo mediante ? crea un objeto que indica si el valor es nulo o igual al default y el valor en si, esto genera una sobre carga de memoria por lo que usarlo dentro del Update generara bastante basura. Lo mejor es utilizar el simple flag de siempre en casos de constanste actualización y hacerlo con "is null" if (obj is null) o if (!(obj is null)). Sin embargo esta aplicación tiene sentido en Eventos donde los registros pueden contener una referencia nulas.
   
   
      2 - Los String con Format complex utilizando "$" son mucho mas complicados para el CLR, costosa, y con mayor cantidad de memoria derrochada, que la simple concatenación. Para crear String lo mejor es utilizar StringBuilder. Sin embargo, para realizar la concatenación esto es mas practico y simple, anteriormente se utilizar String.Format que tenia un costo mayor y era bastante menos practico.
   
   
      ¡En resumen, estos tips son para practicidad sacrificando rendmiento y recursos!
   
   
      Los otros me parecen bien, esta bueno tener estos tips de forma sintetica, y que cada cual busque por su cuenta el ¿POR QUE? - 
   


Como dices, tienes razón en el punto 1, esto es muy útil sobre todo en eventos o debugs rapidos, en el resto de casos supone un sobrecoste de comprobación de nulidad. En el segundo caso es sobre todo útil para debugs que no serán compilados (de hecho en los ejemplos que pongo los uso de esta manera). Pero es bueno tu aporte, muchas gracias! :) 

Etiquetas: