Developing a retopology-based destruction system for Unity
Kjeldsen, Oskar (2025)
Kjeldsen, Oskar
2025
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2025061122352
https://urn.fi/URN:NBN:fi:amk-2025061122352
Tiivistelmä
Hajoamisalgoritmit perustuvat usein valmiiksi hajotettuihin malleihin ja raskaisiin fysiikkasimulaatioihin, jotka vaativat paljon resursseja. Näissä menetelmissä ongelmaksi nouseekin kehitysprosessin joustavuuden heikentyminen ja kehitysajan pidentyminen. Tästä syystä opinnäytetyössä Unity-pelimoottorille kehitettiin kevyt hajoamisjärjestelmä, jonka avulla on mahdollista rikkoa kolmiulotteisia esineitä pelin aikana.
Opinnäytetyössä käytettiin yksinkertaistettua Voronoi-algoritmia, joka ryhmitteli esineen pintaverkon kolmiot satunnaisiin pisteisiin niiden etäisyyden perusteella. Kevyen repotologian ja kolmioryhmien keskipisteeseen venyttämisen avulla saatiin luotua vakaita ja ehjiä palasia esineestä.
Järjestelmän toimivuutta testattiin käyttämällä Unitystä löytyviä yksinkertaisia primitiivimalleja. Suorituskykyä arvioitiin seuraamalla mittareita, kuten ruudunpäivitysnopeutta, kolmioiden määrää sekä fysiikan käyttäytymistä. Tulokset osoittivat, että järjestelmä pystyi tuottamaan kappaleita, jotka ovat sekä visuaalisesti vakuuttavia että rakenteellisesti eheitä, jotka säilyvät laskennallisesti kevyinä. Kehitetty ratkaisu toimii siis tasapainoisena välimuotona skaalautuvuuden, visuaalisen realismin ja reaaliaikaisen tehokkuuden välillä. This thesis focuses on creating a lightweight procedural destruction system for the Unity game engine, to enable real-time fragmentation of three-dimensional objects during runtime. The idea for the project arose from limitations of traditional destruction methods which rely on pre-factured models or resource heavy physics simulations, increasing the development time and reducing flexibility.
The project used a simplified Voronoi algorithm to group mesh triangles based on their proximity to randomly scattered seed points. A center-based extension technique was used to keep each fragment closed and physically stable. Lightweight procedural retopology principles were used to ensure that the generated meshes are optimized.
The developed system was tested by using primitive Unity models while the performance was evaluated by monitoring metrics such as frame rates, triangle counts and physical behavior. The results showed that the system successfully generated fragments that were both visually convincing and structurally complete while being lightweight for the computational power. The developed solution demonstrates itself as a balanced option between scalability, visual realism and runtime efficiency.
Opinnäytetyössä käytettiin yksinkertaistettua Voronoi-algoritmia, joka ryhmitteli esineen pintaverkon kolmiot satunnaisiin pisteisiin niiden etäisyyden perusteella. Kevyen repotologian ja kolmioryhmien keskipisteeseen venyttämisen avulla saatiin luotua vakaita ja ehjiä palasia esineestä.
Järjestelmän toimivuutta testattiin käyttämällä Unitystä löytyviä yksinkertaisia primitiivimalleja. Suorituskykyä arvioitiin seuraamalla mittareita, kuten ruudunpäivitysnopeutta, kolmioiden määrää sekä fysiikan käyttäytymistä. Tulokset osoittivat, että järjestelmä pystyi tuottamaan kappaleita, jotka ovat sekä visuaalisesti vakuuttavia että rakenteellisesti eheitä, jotka säilyvät laskennallisesti kevyinä. Kehitetty ratkaisu toimii siis tasapainoisena välimuotona skaalautuvuuden, visuaalisen realismin ja reaaliaikaisen tehokkuuden välillä.
The project used a simplified Voronoi algorithm to group mesh triangles based on their proximity to randomly scattered seed points. A center-based extension technique was used to keep each fragment closed and physically stable. Lightweight procedural retopology principles were used to ensure that the generated meshes are optimized.
The developed system was tested by using primitive Unity models while the performance was evaluated by monitoring metrics such as frame rates, triangle counts and physical behavior. The results showed that the system successfully generated fragments that were both visually convincing and structurally complete while being lightweight for the computational power. The developed solution demonstrates itself as a balanced option between scalability, visual realism and runtime efficiency.