Table of Contents
Fetching ...

Structural Tree Extraction from 3D Surfaces

Diogo de Andrade, Nuno Fachada

TL;DR

This paper tackles the challenge of obtaining navigation-relevant, simplified representations from complex 3D surfaces. It introduces a surface-derived graph and computes a Steiner-tree approximation to connect structurally important regions, followed by line-of-sight based simplification to reduce redundancy. The approach is validated on two scenarios—map-piece structure extraction for procedural content generation and map analysis for automated level evaluation—demonstrating coherent, simplified structures and the ability to highlight traversal hotspots via centrality metrics. The method offers a scalable, modular pipeline suitable for procedural generation, spatial reasoning, and navigation-aware geometry analysis, with an open-source Unity-based implementation for practical use.

Abstract

This paper introduces a method to extract a hierarchical tree representation from 3D unorganized polygonal data. The proposed approach first extracts a graph representation of the surface, which serves as the foundation for structural analysis. A Steiner tree is then generated to establish an optimized connection between key terminal points, defined according to application-specific criteria. The structure can be further refined by leveraging line-of-sight constraints, reducing redundancy while preserving essential connectivity. Unlike traditional skeletonization techniques, which often assume volumetric interpretations, this method operates directly on the surface, ensuring that the resulting representation remains relevant for navigation-aware geometric analysis. The method is validated through two use cases: extracting structural representations from tile-based elements for procedural content generation, and identifying key points and structural metrics for automated level analysis. Results demonstrate its ability to produce simplified, coherent representations, supporting applications in procedural generation, spatial reasoning, and map analysis.

Structural Tree Extraction from 3D Surfaces

TL;DR

This paper tackles the challenge of obtaining navigation-relevant, simplified representations from complex 3D surfaces. It introduces a surface-derived graph and computes a Steiner-tree approximation to connect structurally important regions, followed by line-of-sight based simplification to reduce redundancy. The approach is validated on two scenarios—map-piece structure extraction for procedural content generation and map analysis for automated level evaluation—demonstrating coherent, simplified structures and the ability to highlight traversal hotspots via centrality metrics. The method offers a scalable, modular pipeline suitable for procedural generation, spatial reasoning, and navigation-aware geometry analysis, with an open-source Unity-based implementation for practical use.

Abstract

This paper introduces a method to extract a hierarchical tree representation from 3D unorganized polygonal data. The proposed approach first extracts a graph representation of the surface, which serves as the foundation for structural analysis. A Steiner tree is then generated to establish an optimized connection between key terminal points, defined according to application-specific criteria. The structure can be further refined by leveraging line-of-sight constraints, reducing redundancy while preserving essential connectivity. Unlike traditional skeletonization techniques, which often assume volumetric interpretations, this method operates directly on the surface, ensuring that the resulting representation remains relevant for navigation-aware geometric analysis. The method is validated through two use cases: extracting structural representations from tile-based elements for procedural content generation, and identifying key points and structural metrics for automated level analysis. Results demonstrate its ability to produce simplified, coherent representations, supporting applications in procedural generation, spatial reasoning, and map analysis.
Paper Structure (26 sections, 12 figures, 3 tables, 5 algorithms)

This paper contains 26 sections, 12 figures, 3 tables, 5 algorithms.

Figures (12)

  • Figure 1: Structure extraction from a polygon mesh. The extracted graph represents navigable paths between the various entrances/exits of the mesh. The red sphere represents the root of the tree structure, while the colors represent the depth of the tree (red is depth 1, yellow is depth 2, and so forth).
  • Figure 2: Map analysis: node color gradient indicates the likelihood of player traversal across different areas of the level.
  • Figure 3: Algorithm \ref{['alg:gen_structure']} steps: a) build initial graph; b) identify terminal nodes; c) build Steiner tree; d) find rooted trees; and, e) simplify trees.
  • Figure 4: Map piece with entry/exit point.
  • Figure 5: Navigation structure extraction: a) map piece geometry; b) entry/exit points; and, c) extracted structure. The red sphere represents the root of the tree structure, line color represents the depth of the tree (red is depth 1, yellow is depth 2, and so forth).
  • ...and 7 more figures