Jump to content
davidlopezdev

[TIPS] Unity Tips en una linea

Recommended Posts

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) 

               0hE2Z1qTBK37qPQJ-JDQTg4uqJMjBQU3LayrjtH8

              dNpEiNA1p_0BiWht6hSIjVv5lQHsQIQMhS66aD1O

 

  • Recuerde guardar las cadenas repetidas en una variable constante.

             2xxkZgSGXLvYzNEv_Lji6hb3iDGwJwXBomRXFXLZ

 

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

             77lWHIstE27-Zf-8tbaoXi1b1zz1F3n4jvkBUzJ5

 

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

           4acV74BSVCfxjrmJrsCNwxNnj8DpK9ktuyF3H2gq

 

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

           aGC3Yg5mV9E09PtwM3ODvVguWnr9P2OHZ_PrJ3Hf


 

Edited by _davidlopez29
  • Like 2

Share this post


Link to post
Share on other sites

 

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

               akxBYjtxVkdNBrpWJom8koHgNTulXuoYaCL9zwEW

 

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

               Qn98RmTUaRyj6Gz5Cv6AFGl6JNTu0iPcVcVh4Fyu

 

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

                8JOpUlMtN9MhbsoZQJMSys_JlGxAPPuRF1QdBsf-

 

 

  • 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

               QK0npfUg4rk2kBuQwz155HYZs34bps1QqVh7F5jA
 

  • 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.

                 ZsQuoqTTEKN4ENiyhbUlrUNUTIWgKrLSrtcpSCum

Edited by _davidlopez29
  • Like 1

Share this post


Link to post
Share on other sites
Regístrate para acceder a este contenido.
Regístrate para acceder a este contenido.
Regístrate para acceder a este contenido.

 

Regístrate para acceder a este contenido.

 

Share this post


Link to post
Share on other sites

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? - 

Share this post


Link to post
Share on other sites
On 3/22/2020 at 10:21 PM, francoe1 said:

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? - 

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! :) 

Share this post


Link to post
Share on other sites

×
×
  • Create New...