¡Bienvenido! En este codelab, retomaremos todos los temas vistos en este módulo para realizar tu primer ejercicio de programación en tu aplicación del HuertoXR. Recuerda que todos los pasos están basados en los videos y tutoriales del Módulo 2. Si necesitas profundizar en algún tema, puedes volver a ver el video correspondiente al paso específico.

Temas evaluados

Requisitos previos

  1. Completar la guía para crear un proyecto XR e importar el paquete de la primera escena: https://codelabs.virtual.uniandes.edu.co/codelabs/crear-proyecto-xr/#0
  2. Descargar el paquete Modulo2: https://github.com/viverovirtualuniandes/proyectoXR-Base/releases/download/modulo02.v1/Modulo2.unitypackage
  3. Importar el paquete Modulo2 siguiendo las instrucciones detalladas en el video ¿Qué es un Script en Unity?
  4. Haber visto y completado todos los videos del módulo 2, recuerda que este es un resumen de los temas vistos.

Objetivo

Con ayuda de este resumen, podrás recordar los conceptos vistos en el módulo 2 para desarrollar un script que permita cargar un mensaje "Bienvenido a <nombre del huerto>", la fecha y hora exacta en un letrero dentro del proyecto Huerto VR. A continuación, podrás ver una imagen de referencia, de cómo deberá verse tu escena al finalizar este ejercicio.

A continuación, te presentaremos una serie de pasos que debes ir siguiendo para completar el ejercicio.

  1. Crea un Script ControladorLetrero para Controlar el letrero del objeto de juego LetreroBienvenida.


  1. Crea una variable pública nombreHuerto de tipo string para guardar el nombre del huerto. Además, asigna una cadena de texto personalizada, por ejemplo, "El huerto vr".
public string nombreHuerto = "El huerto vr";


  1. Crea una variable llamada nombreTexto3D de tipo GameObject para modificar el objeto de juego NombreHuertoTexto.
public GameObject nombreTexto3D;

  1. Ahora, para manejar la fecha, crea una variable privada de tipo string y asígnale un texto en formato dd/MM/yy. Recuerda que, en C# la visibilidad por defecto es privada. Por lo tanto, se puede declarar esta variable de dos formas distintas.
private string fecha = "12/07/24";
string fecha = "12/07/24";


  1. Crea una variable fechaTexto3D de tipo TextMeshPro para modificar el componente de texto del objeto de juego FechaTexto en Unity.
public TextMeshPro fechaTexto3D;

Recuerda que para utilizar objetos TextMeshPro necesitas importar la librería TMpro.

using TMPro;

  1. Dentro del método Start(), asocia la variable nombreHuerto a el componente de texto del objeto de juego nombreTexto3D.
nombreTexto3D.GetComponent<TextMeshPro>().text = nombreHuerto;

  1. Dentro de la función Start, asocia la variable fecha al texto fechaTexto3D.
fechaTexto3D.text = fecha;

  1. Guarda los cambios con el comando Ctrl+s, espera a que se actualicen los cambios en Unity y ejecuta el proyecto. Observa que el letrero muestra el texto y la fecha especificados dentro del script.

  1. Crea una función pública DarMensajeBienvenida() que reciba el nombre del huerto y devuelva un mensaje de tipo string. Para el parámetro puedes utilizar el nombre pNombreHuerto.
public string DarMensajeBienvenida(string pNombreHuerto)
{

}

  1. Dentro de la función, DarMensajeBienvenida(), crea una variable de tipo string llamada respuesta para guardar el mensaje "Bienvenido a "+ pNombreHuerto.
string respuesta = "Bienvenido a " + pNombreHuerto;

  1. Nota que aparece un error subrayado debajo de la función DarMensajeBienvenida(). Esto se debe a que la palabra string a la izquierda de DarMensajeBienvenida() le indica a la función que va a devolver un mensaje, pero la función aún no cuenta con retorno. Para solucionar esto, retorna el mensaje respuesta. De lo contrario, nuestra función no tendrá ningún resultado.
return respuesta;

  1. Dentro del método Start(), asocia el resultado de la función DarMensajeBienvenida() a la variable nombreTexto3D.
nombreTexto3D.GetComponent<TextMeshPro>().text = DarMensajeBienvenida(nombreHuerto)

  1. Dentro del método Update(), asocia la fecha y hora actual a la variable fecha. Además, vuelve a asociar la variable fecha al texto fechaTexto3D. Con estos cambios, la fecha y hora se van a actualizar en el cartel de manera constante.
fecha = System.DateTime.Now.ToString("dd/MM/yy - HH:mm:ss");
fechaTexto3D.text = fecha;

  1. Finalmente, guarda los cambios con el comando Ctrl+s, espera a que se actualicen los cambios en unity y ejecuta el proyecto. Observa que ahora, el letrero muestra el mensaje de bienvenida, la fecha y la hora en tiempo real.

¡Felicidades! Has completado el codelab de Resumen del Código Módulo 2. Ahora, estás listo para crear y probar tus propios scripts. Esperamos que esta guía te haya sido útil para recordar todos los temas que hemos visto hasta ahora. Te invitamos a seguir explorando con Unity y recuerda que puedes volver a ver los videos del módulo en caso de que quieras practicar algún tema en específico.