automatische huisindeling

use case

Published
december 6, 2021

Doel: het automatisch creëren van logische huisingelingen.

Er bestaan reeds tal van voorbeelden van implementaties die op een procedurele manier huizen kunnen creëren. Het gaat vaak om huizen waar enkel de buitenmuren en het dak gegenereerd worden. Binnen level design van games of gebouwen in de achtergrond, is het in vele gevallen niet nodig dat ook het interieur opgebouwd wordt. Wanneer een speler in een game de huizen moet betreden en verkennen, moeten er vanzelfsprekend ook binnenmuren en deuren zijn die de verschillende kamers met elkaar verbinden. Het doel van deze use case was om een tool te creëren waarmee op een snelle en eenvoudige manier verschillende gebouwindelingen gegenereerd kunnen worden.

Het was de bedoeling dat de indelingen gebruikt kunnen worden om bijvoorbeeld een AInavigatiealgoritme op te trainen. Een AI-algoritme heeft veel trainingsdata nodig. Het kan onbegonnen werk zijn om dat op te zetten aan de hand van enkel manueel opgebouwde huizen. Met een procedurele tool kunnen er gemakkelijk honderden verschillende huizen gegenereerd worden waarop automatisch getraind kan worden.

In Blender werd een script gecreëerd dat toelaat op een snelle manier willekeurige huizen te genereren. De huizen zijn in de meeste gevallen realistisch in opbouw. Ze zijn echter nog beperkt in vorm, aangezien alle kamers enkel rechthoekig kunnen zijn.

Het script kan nog uitgebreid worden om op de gecreëerde openingen op een automatische manier een variatie aan voorgemaakte deuren en ramen te plaatsen, alsook om texturen toe te kennen aan de muren om zo tot een meer realistische weergave te komen. Het script is bijna volledig onafhankelijk van Blender, wat het mogelijk overdraagbaar maakt naar andere 3D-software. 

Een huis heeft natuurlijk meer dan enkel muren, deuren en ramen. In de volgende use case gaan we dieper in op de mogelijke methodes om de binnenkant van de ruimtes aan te kleden op een logische en automatische manier.