Texto completo
|
PDF (Portable Document Format)
- Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (1MB) |
| Título: | Visualizador de propagación de ondas en tiempo real |
|---|---|
| Autor/es: |
|
| Director/es: |
|
| Tipo de Documento: | Trabajo Fin de Grado o Proyecto Fin de Carrera |
| Grado: | Grado en Ingeniería de Sonido e Imagen |
| Fecha: | Julio 2023 |
| Materias: | |
| ODS: | |
| Palabras Clave Informales: | Ondas sonoras, Propagación de ondas, Prácticas de laboratorio, Sistemas en tiempo real |
| Escuela: | E.T.S.I. y Sistemas de Telecomunicación (UPM) |
| Departamento: | Electrónica Física, Ingeniería Eléctrica y Física Aplicada |
| Licencias Creative Commons: | Reconocimiento - Sin obra derivada - No comercial |
|
PDF (Portable Document Format)
- Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (1MB) |
El objetivo principal del proyecto es diseñar y desarrollar una herramienta que permita visualizar el comportamiento de las ondas acústicas en un medio elástico (en este caso el aire) y, además, ofrezca la posibilidad de modificar los parámetros principales de la onda actualizando la representación en tiempo real. De esta manera se pretende que sirva como material de ayuda para la asignatura Propagación de Ondas, impartida en la Escuela Técnica Superior de Ingeniería y Sistemas de Telecomunación.
Las ondas acústicas al propagarse en un medio interaccionan con las partículas que lo constituyen, de forma que éstas se desplazan respecto a sus posiciones de equilibrio. Es este desplazamiento de las partículas el que se va a representar y visualizar en tres dimensiones. Para que esta visualización tridimensional sea correcta, dichas partículas han de ser representadas en un volumen y, a su vez y con el mismo fin, ha de haber una cantidad considerable de partículas siendo excitadas a la vez en pantalla.
Renderizar y calcular la posición en tiempo real de tantos elementos puede suponer un gran problema de rendimiento para dispositivos con controladores gráficos de características limitadas.
Como tecnologías capaces de suplir el condicionante tecnológico anteriormente descrito se usan para el desarrollo la plataforma de desarrollo y creación de contenido en tiempo real Unity y la tecnología DOTS (Data-Oriented Technology Stack), desarrollada por Unity Technologies.
En Unity, para un renderizado eficiente, se hace uso del flujo de renderizado URP (Universal Render Pipeline). URP permite crear gráficos optimizados fácilmente, ya que está diseñado para ser compatible con todo tipo de dispositivos.
DOTS se basa en tres pilares: ECS (Entity Component System), el Job System y el Burst Compiler. Estos componentes trabajan juntos para optimizar el uso de la memoria, el procesamiento paralelo y la compilación de código nativo, pero se puede usar cualquiera de ellos por separado. En este proyecto se hace uso de ECS y del Job System.
La primera parte del proyecto se ha enfocado al diseño de una arquitectura sólida y reescalable, haciendo uso de manejadores o managers estáticos, que centralizan el comportamiento de las diferentes partes del código, desde el flujo de la aplicación, hasta el propio comportamiento de las partículas simuladas. Esta parte del proyecto también se ha dedicado a la investigación y aprendizaje de la tecnología DOTS, con el objetivo de poder evaluar qué herramientas de dicha tecnología serán útiles para el desarrollo de este proyecto.
La segunda parte se ha dedicado a la implementación de la aplicación diseñada, haciendo especial énfasis en la eficiencia de esta, así como al realismo a la hora de representar la propagación de la onda en el aire.
Por último, se ha trabajado en la experiencia de usuario, tratando de hacer la navegación por el espacio de simulación lo más cómoda e intuitiva posible.
Tras implementar las partículas, tanto con el sistema convencional de Unity, como con DOTS, se ha observado un incremento masivo del rendimiento, pudiendo visualizar hasta ocho veces más partículas con la misma tasa de FPS (Frames por segundo) con este último.
También se ha podido comprobar la enorme utilidad que tiene Unity para realizar aplicaciones de simulación y visualización de manera cómoda y eficiente, gracias a todas sus herramientas gráficas y las facilidades que aporta para mejorar la experiencia de usuario.
Abstract:
The main objective of the project is to design and develop a tool that allows visualizing the behavior of acoustic waves in an elastic medium (in this case air) and, in addition, offers the possibility of modifying the main parameters of the wave by updating the representation in real time. It is intended to serve as support material for the Wave Propagation course, taught at the Higher Technical School of Engineering and Telecommunication Systems.
As acoustic waves propagate in a medium, they interact with the particles that make it up, so that these particles move around their equilibrium positions. It is this displacement of the particles that will be represented and visualized in three dimensions. For this three-dimensional visualization to be correct, these particles must be represented in a volume and, at the same time and for the same purpose, there must be a considerable number of particles being excited at once on screen.
Rendering and calculating the position in real time of so many elements can pose a major performance problem for devices with limited graphics controllers.
As technologies capable of meeting the technological constraint described above, the development platform and real-time content creation Unity and the DOTS technology, developed by Unity Technologies, are used for development.
For more efficient rendering, the URP rendering flow is used in Unity. URP allows to easily create optimized graphics, as it is designed to be compatible with all kinds of devices.
DOTS is based on three pillars: ECS, Job System and Burst Compiler. These components work together to optimize memory usage, parallel processing, and native code compilation, but any of them can be used separately. ECS and Job System are used in this project.
The first part of the project has focused on designing a solid and scalable architecture, making use of static handlers or managers that centralize the behavior of different parts of the code, from application flow to the behavior of simulated particles. This part of the project has also been dedicated to researching and learning DOTS technology, with the aim of being able to evaluate which tools from this technology will be useful for developing this project.
The second part has been dedicated to implementing the designed application, with special emphasis on its efficiency as well as realism when representing wave propagation in air.
Finally, user experience has been a focus of work, trying to make navigation through the simulation space as comfortable and intuitive as possible. After implementing particles using both Unity’s conventional system and DOTS, a massive increase in performance has been observed, being able to visualize up to eight times more particles with the same FPS rate with the latter.
It has also been possible to verify the enormous usefulness that Unity has for comfortably and efficiently carrying out simulation and visualization applications thanks to all its graphic tools and facilities it provides for improving user experience.
| ID de Registro: | 80653 |
|---|---|
| Identificador DC: | https://oa.upm.es/80653/ |
| Identificador OAI: | oai:oa.upm.es:80653 |
| Depositado por: | Biblioteca Universitaria Campus Sur |
| Depositado el: | 08 Mar 2024 19:55 |
| Ultima Modificación: | 08 May 2024 00:30 |
Publicar en el Archivo Digital desde el Portal Científico