Unity · C# · Puzzle 3D · Raycast
Ray Connection 3D
Prototipo técnico jugable de puzzle 3D basado en raycasts y reflexión de rayos, donde el jugador coloca y orienta espejos para conectar un emisor con el punto final del nivel.
Resumen técnico
Ray Connection 3D es un prototipo técnico jugable de puzzle 3D desarrollado en Unity con C#. El núcleo del proyecto es un sistema de raycasts y reflexión de rayos: el jugador coloca espejos en un tablero para hacer que el rayo principal rebote hasta alcanzar el receptor final.
La interacción principal combina colocación de espejos con clic izquierdo, rotación de espejos con A y D, rotación del tablero 90º con Q y E, límite máximo de espejos por nivel, validación de solución, feedback visual, partículas y dos niveles incluidos.
Interacción del jugador
El jugador decide dónde colocar cada espejo, ajusta su orientación y puede rotar el tablero para leer el puzzle desde otra perspectiva. La solución depende de usar correctamente el número limitado de reflectores disponibles.
Objetivo del puzzle
Cada nivel se completa cuando el rayo principal, tras uno o varios rebotes, alcanza el punto final. El sistema valida la conexión, actualiza el estado global del puzzle y comunica la victoria mediante feedback visual.
Mi contribución
- Diseño e implementación de un puzzle 3D basado en propagación de rayos, emisores, reflectores y receptor final.
- Implementación de colocación de espejos, rotación de reflectores y rotación del tablero mediante input del jugador.
- Integración de validación de solución, estado global del nivel, victoria, feedback visual, partículas y UI básica.
- Documentación del prototipo, preparación de build Windows y organización del repositorio para revisión técnica.
Sistemas implementados
- Sistema de raycast, emisor principal y receptor o punto final.
- Reflexión y rebote del rayo mediante espejos.
- Colocación de espejos con clic izquierdo y límite máximo por nivel.
- Rotación de espejos con A/D y rotación del tablero con Q/E.
- Objetos movibles, objetos rotables, activadores y triggers.
- Sistema de puzzle, validación de solución y victoria.
- Feedback visual mediante Line Renderer, UI básica y partículas.
- Sistema de niveles con dos niveles y build jugable para Windows.
Características principales
- Puzzle 3D basado en raycasts.
- Vista top-down en 3D.
- Emisor de rayo principal y receptor final.
- Colocación de espejos mediante clic izquierdo.
- Rotación de espejos con A y D.
- Rotación del tablero 90º con Q y E.
- Sistema de reflexión y rebote del rayo.
- Límite máximo de espejos por nivel.
- Activadores, triggers, validación de solución y victoria.
- Feedback visual del rayo, partículas y UI básica.
- Dos niveles incluidos en el prototipo actual.
- Build jugable para Windows publicada en GitHub Releases.
Flujo técnico previsto
El flujo técnico del prototipo conecta input, colocación de espejos, propagación del rayo, validación del receptor y actualización del estado global del nivel.
- 01Mirror PlacementEl jugador coloca reflectores en el tablero respetando el límite máximo de espejos del nivel.
- 02OrientationLos espejos se rotan con A/D y el tablero puede girarse con Q/E para replantear la trayectoria.
- 03Ray ReflectionEl rayo se propaga mediante raycasts, rebota en espejos y actualiza la línea visual de conexión.
- 04Puzzle ValidationEl sistema comprueba si la trayectoria alcanza el receptor y activa la condición de victoria.
Arquitectura
La arquitectura se centra en dos piezas principales: un gestor global que controla nivel, estado y victoria, y el comportamiento de los espejos que mantiene la continuidad de la conexión mediante reflexión.
- GameManager — control global del nivel, estado del puzzle, validación de solución y victoria.
- Repeater — comportamiento de los espejos, reflexión del rayo y continuidad de la conexión.
Tecnologías
Visuales previstos
El repositorio deja preparados nombres previstos para logo, portada, banner y miniaturas centradas en emisor, colocación de espejos, rotación del tablero y conexión completada.
rayconnection-logo.pngrayconnection-cover.pngrayconnection-banner.pngrayconnection-thumbnail-01-ray-emitter.pngrayconnection-thumbnail-02-mirror-placement.pngrayconnection-thumbnail-03-board-rotation.pngrayconnection-thumbnail-04-completed-connection.png
Estado y próximos pasos
Estado actual: Prototipo técnico jugable
El proyecto incluye una base funcional de puzzle con raycast, emisor, receptor, colocación y rotación de espejos, rotación del tablero, validación de solución, feedback visual, partículas, UI básica y dos niveles jugables.
- Añadir más niveles.
- Añadir más tipos de puzzle y objetos interactivos.
- Añadir menú principal, sistema de pausa y guardado de progreso.
- Mejorar feedback visual, iluminación, sonido y tutorial.
- Añadir animaciones de puertas, mecanismos o elementos activables.
Ruta recomendada de revisión
Para revisar técnicamente el proyecto, conviene empezar por el comportamiento del rayo, la continuidad de rebotes y el gestor global del puzzle.
Project/PRJ_Rayos3D/Assets/Scripts/Repeater.csReflexión del rayo, comportamiento de espejos y continuidad de la conexión.GameManager.csControl global del nivel, validación de solución, victoria y flujo de partida.Raycast / Line RendererPropagación visual y lógica del rayo desde el emisor hasta el receptor.Level RulesLímite de espejos, rotación del tablero, UI y condiciones de puzzle completado.
Aprendizajes
Este proyecto me permitió practicar el uso de Raycast en 3D, aplicándolo a un sistema de puzzle basado en propagación, reflexión y validación de trayectorias.
También me ayudó a trabajar interacción con objetos, control de estados de activación y validación de puzzles mediante la conexión entre un emisor y un receptor.
Además, el proyecto me sirvió para estructurar una lógica técnica clara alrededor de un sistema reducido pero ampliable: emisor, espejos, receptor, manager global, línea visual y feedback mediante partículas.