ChromaVision
Trabajo de Fin de Grado
ChromaVision es una herramienta modular basada en visión artificial, que permite detectar piezas físicas por color y posición, y visualizarlas en un motor de videojuegos de forma sincronizada. El color de cada pieza actúa como un identificador que permite sustituirla por el tipo de objeto que el usuario desee en el motor.
Es una herramienta adaptable a diversos motores de videojuegos y que permite crear aplicaciones para distintos contextos. Esta aplicación demuestra su uso en el prototipado de niveles, desarrollada en Unreal Engine 5.7.
Detalles del proyecto
2026
- Plataforma: PC.
- Equipo: una persona.
- Programas:
Unreal Engine 5.7
Blender
GitHub
Krita
Responsabilidades:
Desarrollo de todo el Trabajo de Fin de Grado.
- Programación.
- VFX.
- UI.
- Modelado 3D.
- Logotipos.
- Texturas.
- Materiales.
- Etc.
Arquitectura del sistema
La herramienta se compone de dos módulos independientes:
1. Módulo de detección de piezas: implementado en Python con OpenCV. Captura las imágenes de la webcam y detecta el color y la posición de las piezas sobre la base. Luego envía esta información al módulo de visualización (motor de videojuegos) mediante el protocolo UDP.
2. Módulo de visualización: script integrado en el proyecto del motor de videojuegos. Recibe una lista con las piezas detectadas e instancia los objetos que el usuario ha asignado a cada color, en la posición correspondiente a la pieza física.
Compatibilidad de motores
La separación lógica entre ambos módulos, junto con la comunicación mediante UDP, permiten que la herramienta sea independiente del motor de videojuegos. Cualquier motor que incorpore en su proyecto el módulo de visualización correspondiente podrá recibir e interpretar los mensajes del módulo de detección sin necesidad de modificar su lógica.
En este trabajo se ha desarrollado el módulo de visualización para Unreal Engine 5.7. Es reutilizable, es decir, puede integrarse en cualquier proyecto de UE sin modificar su código fuente, simplemente añadiendo los scripts al proyecto.
Aplicaciones
ChromaVision es una herramienta flexible gracias a las siguientes características:
-
- Arquitectura modular compatible con distintos motores de videojuegos, tanto 2D como 3D (actualmente Unreal Engine 5.7).
- Posibilidad de añadir, eliminar o ajustar los colores detectados. Además de otras variables configurables de la detección, visualización y envío de piezas.
- Representar las piezas en el motor de videojuegos con el objeto que se desee (configurable en el editor).
- Uso de hardware estándar: ordenador, webcam común, y piezas y base de LEGO.
Esto permite desarrollar aplicaciones para diversos ámbitos o sectores. Por ejemplo: desarrollo de videojuegos, aplicaciones didácticas, arquitectura y planificación urbanística, etc.
Aplicación de demostración
Aplicación de demostración
Repositorio de GitHub
ChromaVision
Herramienta de visión artificial que detecta piezas reales y las representa en un motor de videojuegos
ChromaVision
Herramienta de visión artificial que detecta piezas reales y las representa en un motor de videojuegos
