Unity Growing Pains

La unidad es una plataforma increíble, y sigue creciendo. Como muchos otros desarrolladores de juegos, me cambié a Unity como mi plataforma principal para el desarrollo de juegos. Si bien Unity es uno de los programas de desarrollo de juegos más fáciles de usar que he tenido el placer de usar, no está exento de dolores de crecimiento. He estado trabajando para superar y documentar estas pruebas, y en este artículo compartiré mi experiencia.

Artículos Relacionados
  • Cómo aprender la unidad

Entendiendo al inspector

El Inspector de la unidad es donde verá toda la información sobre el objeto seleccionado en la vista de escena.


Si crea un cubo y luego lo selecciona, el Inspector mostrará su Transformar componente, que mostrará la X, y, y z Propiedades de la posición, rotación y escala de dicho cubo. Si tienes un enemigo más complejo que has creado, al seleccionarlo se mostrará toda la información sobre ese objeto, que podría incluir cualquier número de componentes que hayas adjuntado a ese objeto..

Artículos Relacionados
  • Unidad: Ahora estás pensando con componentes

Hay un problema: para que una propiedad sea visible en el Inspector, debe hacerse pública en cualquier secuencia de comandos a la que pertenezca: si desea ver el velocidad de fuego variable de un componente adjunto a su objeto, entonces velocidad de fuego Necesita ser declarada como una variable pública..

Aquí es donde el poder real del Inspector entra en juego, y aquí se debe aprender otro truco. Cualquier propiedad que se pueda ver en el Inspector puede editarse para ese objeto. Si su script establece un valor predeterminado para una propiedad a través de un código, es muy importante saber que el valor del Inspector lo anulará. Esto significa que si el velocidad de fuego variable tenía un valor predeterminado de 4, y lo pones a 8 en el inspector, entonces el velocidad de fuego variable para ese objeto permanecerá como 8, incluso si modifica el valor de 4 en el guión y guárdalo.

(Tenga en cuenta que establecer la variable en un ámbito que no sea público, es decir, en privado o protegido) revertirá la propiedad al valor del script y ocultará el valor al Inspector.

El último truco para recordar es que los valores editados en el Inspector mientras está en la Vista de escena cuando el juego no se está ejecutando se guardarán, mientras que los valores modificados en el Inspector mientras que el juego es ejecutándose durante la edición en vivo (sí, puede editar las variables en vivo mientras realiza la prueba) volverá a sus valores una vez que haya terminado de probar el proyecto.

Estos pocos puntos clave no son demasiado complejos, pero es muy importante que los recuerde, ya que no ser consciente de todo esto puede llevar a una depuración muy confusa..


Prefabricados

Los prefabs son uno de los aspectos más importantes de Unity, pero pueden ser un poco confusos al principio, ya que hay algunas peculiaridades menores que no son evidentes a primera vista..

Un prefab es esencialmente una definición predefinida de un objeto, un plano, para todos los efectos, al igual que una clase en OOP. Las prefabs pueden estar compuestas de cualquier número de objetos de juego, gráficos, componentes, etc. Se utilizan mejor cuando se desea una gran cantidad de instancias de un objeto, y es posible que desee leves alteraciones de ese objeto específico.


Si tiene un montón de prefabs en su escena y realiza una modificación en la definición de prefab, se actualizarán todas las instancias de ese prefab. Alternativamente, si realiza actualizaciones a una instancia específica, presione Aplicar, todas las instancias de la prefabulación (así como la definición principal de prefabricación) se actualizarán a la configuración de esa instancia específica. Si ha modificado las variables del Inspector, u otras propiedades, en una instancia de un prefab, puede presionar Revertir para revertir esa instancia a la misma configuración que la definición prefabricada.


Navegando por el espacio 3D del editor

Una de las primeras cosas con las que luché en Unity, incluso después de ver un montón de videos tutoriales, fue cómo navegar por el espacio 3D visual dentro del editor. Era, sin duda, un completo novato para moverme en el espacio 3D sin estar atrapado en un personaje (como cuando jugaba un juego en primera o en tercera persona), pero todavía encontraba el movimiento un poco extraño y complicado..

No está nada mal una vez que te acostumbras, pero tener un poco más de dirección la primera vez que salté habría sido genial, así que aquí hay algunos comandos útiles para navegar correctamente en el espacio 3D del editor:


  • Clic derecho arrastrar: Mire alrededor del espacio 3D libremente, sin moverse realmente.
  • Haga clic en Objeto + F: Enfoque directamente en un objeto, moviendo la cámara justo delante de él.
  • Alt + clic izquierdo arrastrar: Girar alrededor del objeto enfocado actualmente.
  • Alt + clic derecho arrastrar: Varias mecánicas de zoom.
  • Rueda de desplazamiento hacia adelante / atrás: Acercar y alejar directamente hacia adelante o hacia atrás.
  • Rueda de desplazamiento Haga clic y arrastre: Mueva libremente hacia arriba, abajo, izquierda y derecha, en el espacio 3D.
  • Teclas de flecha: Mueve directamente hacia adelante, atrás, izquierda o derecha.

Llevarse bien con z

Independientemente de si está creando un juego en 2D o en 3D, querrá familiarizarse con el fabuloso eje z. Muchas clases y funciones utilizarán el eje z, y si bien es posible que no desee modificar la posición de un objeto en el eje z, deberá conocerlo y conocer el papel que desempeña en varias funciones..

La apariencia más común del eje z, que realmente no se puede evitar, es su uso en el Vector3 clase. Cada objeto en la Unidad tiene una Transformar componente, que es lo que contiene la información para la rotación, la posición y todos los datos relacionados. En la unidad, tranformación es un Vector3, que contiene las coordenadas x, y y z del objeto.

Así que incluso si tu juego es 2D, necesitarás trabajar con el Vector3 clase, y por lo tanto, debe ser consciente de este parámetro. Lo más fácil de hacer, en este caso, es establecer la z parámetro a 0, o para configurarlo a la corriente valor z al leerlo de transform.position.z.


Movimiento basico

Como dije anteriormente, toda la información relacionada con el movimiento se almacena en un Transformar componente. Ah, pero no puedes simplemente escribir al posición de transformación Vector3-Al menos no en C #. En su lugar, tienes que crear una nueva Vector3, establece los valores de tu Vector3 (X, y, y z), y luego establecer posición de transformación a tu nuevo Vector3, como sigue:

// No podemos escribir para transform.position, por lo que creamos un nuevo Vector3: Vector3 newPosition; newPosition = new Vector3 (theX, theY, theZ); // Establecer transform.position al objeto newPosition Vector3. transform.position = newPosition;

Si bien esto no es exactamente complicado, definitivamente se agregará a la cantidad de cosas que te harán tropezar si no estás al tanto.!


Conclusión

Con todo, nada de lo anterior es particularmente avanzado o muy técnico; es solo un montón de información que los principiantes de Unity a menudo pierden mientras aprenden. Cualquiera puede resolver todo esto eventualmente, pero puede tomar innumerables horas de depuración, buscar en Google y experimentar, y eso no es necesario.

He visto cada video tutorial en el sitio de Unity, y si bien es justo decir que no absorbí todos De la información que se publicó por primera vez, muchas de las anteriores no se mencionan o no se les presta suficiente atención para que destaque. Aprender todo lo que aprendí me llevó bastante tiempo, y espero que esta lista compilada de información acelere la curva de aprendizaje para futuros principiantes hacia el desarrollo de Unity.

¿Qué dolores de crecimiento has encontrado al aprender Unity??