Meshes genereren¶
Alle 3d games maken gebruik van geometrische beschrijvingen van objecten. Deze beschrijvingen worden meshes genoemd. Een mesh is een verzameling van punten in de ruimte die met elkaar verbonden zijn door lijnen. Deze lijnen vormen de randen van het object. De punten worden vertices
genoemd. De vertices
worden gebruikt om de vorm van het object te beschrijven. De lijnen tussen de vertices worden edges genoemd. De edges worden gebruikt om de vorm van het object te beschrijven. De ruimte tussen de edges
wordt gevuld met driehoeken. Deze driehoeken worden faces
genoemd.
In code worden meshes beschreven met:
- een lijst van vertices
- een lijst van faces
De faces verwijzen naar de indices in de lijst met vertices en beschrijven zo de vorm van het object. De faces worden vaak beschreven met driehoeken. Dit is de meest eenvoudige vorm om een object te beschrijven.
Alle mogelijke vormen kunnen worden beschreven met driehoeken.
Voorbeeld¶
Een vierkant beschreven met driehoeken:
Deze vorm kan worden beschreven met de volgende vertices:
De faces worden beschreven met de indices van de vertices:
De faces verwijzen naar de indices van de vertices. De eerste face bestaat uit de vertices 0, 1 en 2. De tweede face bestaat uit de vertices 2, 3 en 0.
Meshes genereren¶
Meshes kunnen op verschillende manieren worden gegenereerd. De meest eenvoudige manier is om een mesh te genereren met een 3d modeling tool zoals Blender. Een andere manier is om een mesh te genereren met code. Dit kan handmatig of met een library zoals three.js.
Delaunay triangulation¶
Een mesh kan worden gegenereerd met een Delaunay triangulation. Een Delaunay triangulation is een manier om een mesh te genereren van een verzameling van punten. De Delaunay triangulation zorgt ervoor dat de punten zo worden verbonden dat de driehoeken zo groot mogelijk worden. Dit zorgt ervoor dat de mesh er zo natuurlijk mogelijk uitziet.
Een mesh editor die gebruik maakt van Delaunay triangulation. Deze genereert code die je in Unity kan gebruiken. |