Español Valencià
Programación con Unity
👾

Programación con Unity

🌟 INTRODUCCIÓN

🎯
DESTINATARIOS La presente actividad ha sido elaborada para la asignatura de Tecnología y Digitalización de Educación Secundaria Obligatoria (ESO) pero puede ser utilizada en otras asignaturas.
image
DURACIÓN 6 sesiones
🧰
MATERIALES
  • Aula de informática.
  • Un ordenador de sobremesa o portátil por cada equipo.
  • Pizarra electrónica o proyector.
  • Conexión a Internet.

En el mundo actual, la programación es una habilidad clave que permite crear, innovar y resolver problemas de manera eficiente. Existen numerosas herramientas y motores de desarrollo que facilitan la creación de experiencias interactivas, desde videojuegos hasta simulaciones y aplicaciones en 3D. Unity es una de las plataformas más populares y potentes para este propósito, permitiendo a principiantes y expertos dar vida a sus ideas de manera accesible y profesional.

🕹️

En esta unidad didáctica, nos centraremos en Unity para desarrollar videojuegos y experiencias interactivas inspiradas en la cultura, las tradiciones, los mitos y las leyendas de la Comunidad Valenciana. Al finalizar esta guía, el alumnado habrá aprendido a crear el proyecto del Puente de las Flores.

P
Puente de las Flores puede probarse en la siguiente dirección: escueladeciencia.itch.io/el-puente-de-las-flores
👉
Unity, es un motor de desarrollo multiplataforma ampliamente utilizado en la industria del videojuego, la animación y la realidad virtual. Su entorno intuitivo y su potente motor gráfico lo convierten en una herramienta ideal para quienes desean aprender a programar mientras crean experiencias interactivas. Algunas de sus principales ventajas son:
  1. Motor profesional con acceso gratuito: Unity ofrece una versión gratuita muy completa.
  2. Lenguaje de programación versátil: Utiliza C#, un lenguaje potente pero accesible para principiantes, que permite estructurar código de manera clara y eficiente.
  3. Entorno visual intuitivo: Su editor permite diseñar niveles, animaciones y efectos sin necesidad de escribir código, facilitando la transición hacia la programación avanzada.
  4. Compatibilidad multiplataforma: PC, consolas, móviles y realidad virtual.
  5. Gran comunidad y recursos de aprendizaje: Tutoriales, foros y documentación extensa.

En resumen, Unity es la herramienta perfecta para quienes desean adentrarse en el desarrollo de videojuegos y experiencias interactivas avanzadas, ofreciendo un entorno profesional accesible para todos los niveles.

🌐 https://unity.com/

🗓️ PROGRAMACIÓN

Esta actividad está organizada en seis sesiones de 55 minutos, diseñadas para iniciar al alumnado en el desarrollo de videojuegos con Unity. Si los estudiantes ya tienen experiencia previa en programación o en otros motores, se recomienda repasar rápidamente los conceptos básicos y avanzar directamente al proyecto principal.

1️⃣ Introducción a Unity: En esta sesión, los estudiantes se familiarizan con la interfaz de Unity (Jerarquía, Escena, Inspector, Proyecto) y realizan una primera toma de contacto creando y guardando un proyecto desde Unity Hub.

2️⃣ Creación de la Escena: Aquí se construyen los elementos fundamentales del escenario (calles, aceras, barandillas, decoraciones) y se ajusta la iluminación y la cámara, adquiriendo soltura en el manejo del editor 3D.

3️⃣ Generadores: Los alumnos aprenden a programar en C# dentro de Unity, creando scripts que generen coches y peatones de forma periódica. Se introduce la noción de prefabs y se dan los primeros pasos en la animación de personajes.

4️⃣ Controlador y Mecánicas de Juego: Se implementa un personaje controlable (por ejemplo, un policía), configurando su movimiento y colisiones. Además, se incorporan “ladrones” que roban objetos del escenario, dando forma a la dinámica de juego.

5️⃣ Interfaz y Recuperación de Objetos: Los estudiantes utilizan triggers, o disparadores, y crean textos en pantalla (UI). Se programa la lógica para que el personaje recupere los objetos robados, aplicando variables de puntuación y vidas.

6️⃣ Pantalla de Game Over y Audio: En la última sesión, se ajustan los scripts para que el juego termine al perder todas las vidas, mostrando un mensaje de “Game Over”. Además, se añaden música de fondo, efectos de sonido y se genera la build final ejecutable del proyecto.

REQUISITOS PREVIOS

Para poder seguir esta guía y desarrollar correctamente el videojuego, es necesario contar con un equipo que cumpla ciertos requisitos mínimos y disponer de las herramientas adecuadas. A continuación, se detallan los requerimientos:

🖥️

REQUISITOS DEL SISTEMA

Para un rendimiento óptimo, se recomienda un equipo con las siguientes especificaciones:

Mínimos:

  • Sistema operativo: Windows 10/11 (64 bits) o macOS 10.14+.
  • Procesador: Intel Core i5 de 4 núcleos o equivalente.
  • Memoria RAM: 8 GB.
  • Tarjeta gráfica: Compatible con DirectX 11 o Metal.
  • Espacio en disco: 10 GB disponibles.

Recomendados:

  • Sistema operativo: Windows 11 (64 bits) o macOS 12+.
  • Procesador: Intel Core i7 de 6 núcleos o superior.
  • Memoria RAM: 16 GB o más.
  • Tarjeta gráfica: NVIDIA GTX 1660 / RTX 2060 o superior.
  • Espacio en disco: SSD con al menos 20 GB disponibles.
💿

SOFTWARE NECESARIO

Para el desarrollo del videojuego, es imprescindible contar con las siguientes herramientas instaladas:

  • Unity Hub. Versión 3.10.0 o superior. Descarga de Unity Hub
  • Editor de Unity: Recomendamos la versión 2022.3.52f (Esta guía ha sido elaborada con esta versión, si utilizamos otra pueden surgir incompatibilidades).
  • Visual Studio Code, JetBrains Rider o cualquier editor de texto para la edición de scripts en C#.
  • Cuenta de usuario en Unity.

SESIÓN 1 - INTRODUCCIÓN UNITY Y SU INTERFAZ

👉
Esta sesión está orientada a introducir a los estudiantes en Unity, comenzando por familiarizarse con su interfaz y las posibilidades creativas que ofrece. Esta plataforma es una herramienta ideal para iniciar a los jóvenes en la informática gráfica y la creación de videojuegos 3D.
image
👉
En esta sesión, los estudiantes explorarán de manera activa la interfaz de Unity, comprendiendo su funcionalidad, entendiendo sus distintas secciones y cómo pueden utilizarla para crear sus propios proyectos.

FASE 1 ⏰5' aprox.

Introducción a Unity: Breve presentación sobre qué es Unity. Mencionar que Unity es un motor de desarrollo de videojuegos, simulaciones y experiencias interactivas.

Descargamos Unity Hub y Unity en caso de no tenerlo aún.

FASE 2 ⏰5' aprox.

Primer proyecto en Unity: En esta fase, los estudiantes crean su primer proyecto desde Unity Hub, configurando el nombre del proyecto y la ubicación de guardado.

Es recomendable comenzar con la siguiente fase mientras los estudiantes abren sus proyectos, ya que es un proceso un poco lento.

FASE 3 ⏰15' aprox.

Explicación de las secciones clave: En esta fase, explicaremos las diferentes secciones que tiene el editor de Unity, como son la Jerarquía, el Editor de Escena, el Inspector y el Proyecto, además de las principales funcionalidades de cada una.

FASE 4 ⏰ 30' aprox.

Creación de la escena: En esta fase vamos a descargar los recursos de Polygon City y comenzaremos a crear una escena con ellos. El objetivo de esta fase es comenzar a desenvolvernos con el interfaz de Unity.

🌹Instrucciones

SESIÓN 2 - CREACIÓN DE LA ESCENA

👉
Esta sesión es opcional, ya que podemos partir de la escena ya creada, pero es conveniente llevarla a cabo para familiarizarse con el Editor 3D. También podemos omitir cualquier fase de esta sesión.

En el caso de omitir esta sesión, seguimos esta guía antes de comenzar la tercera sesión.

🌹Instrucciones
image
👉
La segunda sesión está enfocada en profundizar en el editor 3D de Unity. En esta sesión terminaremos de crear todos nuestros elementos del suelo además de elementos decorativos. El objetivo es empezar a desenvolverse con la interfaz de Unity. En caso de no terminar la escena, utilizaremos el prefab del mapa, que está en las instrucciones anteriores.

FASE 1 ⏰5' aprox.

Repaso y Teoría: Comenzar con un breve repaso de la sesión anterior, recordando las actividades realizadas y los conceptos explicados.

FASE 2 ⏰15' aprox.

Creación del suelo: Los estudiantes aplican lo aprendido en la sesión anterior para crear la carretera, las aceras y las barandillas de la escena.

🌹Instrucciones

FASE 3 ⏰20' aprox.

Decoraciones: Vamos a añadir decoraciones a nuestra escena, como pueden ser las propias flores, bancos, papeleras, farolas, etc.

🌹Instrucciones

FASE 4 ⏰ 15' aprox.

Cámara e iluminación: Iluminamos la escena, y ponemos una cámara y la ajustamos para que podamos ver la escena completa en nuestra pantalla.

🌹Instrucciones

SESIÓN 3 - GENERADORES

👉
En la tercera sesión, vamos a crear la lógica para que aparezcan peatones y coches que se muevan en nuestra escena. Para ello, vamos a dar nuestros primeros pasos en programación en Unity. También vamos a añadir animaciones a los personajes.
image

FASE 1 ⏰10' aprox.

Crear generador y destino: Vamos a añadir a nuestra escena, dos objetos vacíos, uno para que genere coches y otro que será el destino hacia el que se mueven. Además, vamos a crear nuestros scripts para generar y mover los coches

🌹Instrucciones

FASE 2 ⏰15' aprox.

Funcionamiento de los generadores: En esta fase, vamos a utilizar los scripts anteriores para hacer que funcione el generador de coches, y duplicarlo para que haya uno por cada carril.

🌹Instrucciones

FASE 3 ⏰15' aprox.

Crear generadores de peatones: En esta fase, vamos a replicar el proceso anterior pero para los peatones.

🌹Instrucciones

FASE 4 ⏰ 15' aprox.

Animación de los peatones: Por último, vamos a añadir una animación a los peatones para que se muevan cuando anden.

🌹Instrucciones

SESIÓN 4 - CONTROLADOR Y LADRONES

👉
En esta sesión vamos a poner en la escena al policía que van a controlar los jugadores y le vamos a poner un controlador. También vamos a hacer que algunos peatones roben macetas durante su recorrido.
image

FASE 1 ⏰10' aprox.

Añadir el controlador a la escena: Utilizar un controlador en nuestra escena y comprobar su funcionamiento.

🌹Instrucciones

FASE 2⏰10' aprox.

Ajustes a nuestro controlador: Cambiar la velocidad de nuestro personaje, hacer que choque con los peatones y poner paredes a nuestra escena para que no se pueda salir del mapa.

🌹Instrucciones

FASE 3 ⏰25' aprox.

Crear los prefabs de los ladrones: Crear los prefabs de los ladrones a partir de los prefabs de los peatones

🌹Instrucciones

FASE 4 ⏰10' aprox.

Ajustar scripts: Vamos a cambiar los scripts “GeneraPeaton” y “MoverPeaton” para que los peatones roben tiestos.

🌹Instrucciones

SESIÓN 5 - RECUPERAR LOS TIESTOS E INTERFAZ

👉
En esta sesión vamos a hacer que se puedan recuperar los tiestos que han robado cuando nos acerquemos al ladrón, y vamos a comenzar a crear la interfaz.
image

FASE 1 ⏰10' aprox.

Añadir Triggers: Vamos a añadir triggers a los prefabs de los ladrones para comprobar cuando el jugador se acerca a ellos.

🌹Instrucciones

FASE 2 ⏰10' aprox.

Script: Crear un script para recuperar las flores al entrar en el trigger de los ladrones.

🌹Instrucciones

FASE 3 ⏰15' aprox.

Crear texto en la interfaz: En esta fase vamos crear el mensaje inicial de la interfaz.

🌹Instrucciones

FASE 4 ⏰20' aprox.

Contador de vidas: Crear el contador de vidas en nuestra interfaz.

🌹Instrucciones

SESIÓN 6 - FUNCIONAMIENTO DE LA INTERFAZ Y AUDIO

👉
En esta sesión vamos terminar la interfaz, haciendo que el mensaje inicial desaparezca, que se elimine una vida cada vez que un peatón sale con una maceta de la calle, y añadir la pantalla de Game Over. También vamos a añadir música de fondo y efectos de sonido al juego.
image

FASE 1 ⏰15' aprox.

Funcionamiento de las vidas: Crear el script para gestionar la interfaz, haciendo que desaparezca una vida cada vez que escapa un peatón. También haremos que el mensaje inicial desaparezca tras unos segundos.

🌹Instrucciones

FASE 2 ⏰20' aprox.

Game Over: Modificar la interfaz y el script anterior para que aparezca una pantalla de Game Over cuando las vidas llegan a 0.

🌹Instrucciones

FASE 3 ⏰15' aprox.

Audio: Añadir música de fondo y efectos de sonido a nuestro juego.

🌹Instrucciones

FASE 4 ⏰5' aprox.

Hacer la build: Crear el archivo ejecutable del juego si todo funciona correctamente.

🌹Instrucciones

📊 RÚBRICA DE EVALUACIÓN

La siguiente rúbrica de evaluación 📊 se ha elaborado para valorar el progreso y rendimiento de los estudiantes en esta unidad didáctica de Unity, un entorno avanzado para el desarrollo de videojuegos y experiencias interactivas. Con ella, se busca evaluar no solo la competencia técnica y la habilidad en programación, sino también la creatividad, la colaboración y la capacidad de aplicar de manera efectiva lo aprendido en contextos reales.

Indicadores
Suspenso (1-4)
Aprobado (5-6)
Notable (7-8)
Sobresaliente (9-10)
Comprensión de Unity
No comprende la interfaz ni las funciones básicas del motor.
Comprende y usa aspectos básicos de la interfaz (Scene, Inspector, Hierarchy).
Muestra un buen manejo de la interfaz y de sus principales herramientas.
Excelente dominio de la interfaz, atajos y configuración de proyectos complejos.
Desarrollo de scripts (C#)
No logra programar scripts funcionales en Unity.
Crea scripts básicos con errores o funcionamiento limitado.
Programa scripts funcionales con estructuras adecuadas en C#.
Domina la programación en C#, optimizando código y solucionando errores con eficacia.
Uso de Condicionales y Variables
No implementa condicionales ni variables en los scripts.
Uso básico de condicionales y variables, con ejemplos sencillos.
Integra condicionales y variables de forma adecuada y estructurada.
Uso avanzado y eficaz de estructuras condicionales y manejo de datos, resolviendo problemas con creatividad.
Diseño y Estructura de la Escena
No organiza adecuadamente los elementos en la escena.
Diseña una escena básica con algunos elementos colocados correctamente.
Construye una escena funcional con iluminación y diseño equilibrado
Crea una escena visualmente atractiva, con una estructura bien planificada y detallada.
Integración de Elementos Interactivos
No implementa interacción en el juego.
Agrega elementos interactivos con funcionalidad limitada.
Implementa elementos interactivos funcionales en el juego.
Usa elementos interactivos avanzados, enriqueciendo la experiencia del usuario.
Trabajo en Equipo y Colaboración
No participa en la colaboración con sus compañeros.
Colabora de manera básica con el equipo.
Trabaja en equipo eficazmente, aportando ideas y ayudando en el desarrollo del juego.
Fomenta la colaboración activa, proponiendo mejoras y solucionando problemas en grupo.
Reflexión y Autoevaluación
No reflexiona sobre su aprendizaje ni identifica errores.
Identifica algunas dificultades y logros en su proceso de aprendizaje.
Reflexiona sobre su trabajo, detectando aciertos y áreas de mejora.
Realiza un análisis detallado de su aprendizaje, aplicando mejoras en sus proyectos.
Creatividad e Innovación
No muestra originalidad en la implementación del proyecto.
Aplica ideas básicas en el desarrollo del juego.
Desarrolla propuestas creativas y originales en la mecánica del juego.
Propone ideas innovadoras, con mecánicas y diseños únicos que enriquecen la experiencia de juego.

💡 CONSEJOS PARA EL EDUCADOR

  1. Familiarízate con Unity
  2. Antes de enseñar, dedica tiempo a explorar el editor, el uso de assets y los flujos de trabajo en C#. Esto te permitirá guiar a los estudiantes con más seguridad.

  3. Revisa Conceptos Básicos de Programación
  4. Si el alumnado tiene experiencia previa con lenguajes de bloques (p. ej. Scratch), aprovecha esa base para explicar los eventos, bucles, condicionales y variables en C#.

  5. Aprovecha las Ventajas de Unity
    • Amplia comunidad y recursos (Asset Store, Sketchfab, YouTube, etc.).
    • Permite añadir fácilmente elementos 2D, 3D y multitud de efectos.
  6. Proyectos Progresivos y Creativos
  7. Inicia con escenas LO MÁS SENCILLAS posibles y ve añadiendo características (animaciones, IA simple, interfaz...). Así, mantendrás la motivación y el desafío.

  8. Fomenta la Resolución Colaborativa de Problemas
  9. Anima el trabajo en equipo, especialmente para depurar errores y crear mecánicas de juego complejas.

  10. Reflexión y Retroalimentación
  11. Reserva tiempo al final de cada sesión para que el alumnado comparta sus avances, dificultades y aprendizajes. Esto les ayuda a solidificar conceptos.

  12. Utiliza Recursos Oficiales y la Comunidad de Up! Steam
  13. La documentación de Unity y la Asset Store pueden ser grandes aliados para proyectos con recursos limitados. PREGUNTA siempre que tengas dudas. Estamos aquí para ayudarte para cualquier proyecto STEAM, incluidos proyectos de UNITY.

👉
Recuerda que si necesitas ayuda para seguir esta guía, para buscar ideas, resolver problemas técnicos o cualquier cosa relacionada con Unity o programación en general, puedes preguntarnos a nosotros en la Comunidad de Up! Steam.
image