/Mesh-retopology-with-hierarchical-clustering

Tool for triangular mesh retopology that utilises python-based hierarchical clustering.

Primary LanguageC#MIT LicenseMIT

Mesh retopology with hierchical clustering

The goal of this work is the design and implementation of package for the Unity 3D engine that allows to conduct the process of retopologizing the grid of a three-dimensional model. Using the method of cluster analysis for this purpose is a priority. The application of hierarchical clustering aims to establish a revolutionary solution for the discussed process since existing systems are mainly based on optimization algorithms.

At the same time, the procedure will significantly increase the quality of the outcome of the operation and its execution time. Given an input in the form of a three-dimensional object with high mesh complexity, this application is designed to perform an analysis for possible optimization, and then transform its structure. The outcome of the process has to become an object with the number of vertices depending on the input parameters provided by the user. By selecting the values of the passed attributes, the grid of polygons with features assigned to a given level of clustering can be generated.

Usage

Access to the functionalities of the package can be achieved through the HierarchicalClusteringMeshSimplification component. However, it cannot operate without creating a virtual environment for the Python language compiler and installing the required libraries.

Software requirements

  • Unity 3D engine version 2020.3.43f1 or higher,
  • Python compiler version 3.6 or 3.7,
  • Python language libraries in the indicated versions or higher:
    • Matplotlib version 3.5.3,
    • NumPy version 1.18.5,
    • Sklearn version 1.0.2,
    • SciPy version 1.5.0.

Package instalation process

Installation of the package is done using the Unity 3D engine's graphical interface.

  • Open the Window > Package Manager window.
  • Select the options to add a package (plus button) > Add package from gir URL....
  • Enter the link of this repository and press the Add button.

Virtual environment instalation process

Upon the first attempt to boot the system, a message will appear requesting permission to install the Python virtual environment. Such permission is required for the proper operation of the tool. Agreeing to the installation will automatically activate both the creation of the virtual environment and the installation of its required libraries. On completion of this action, the package is ready to work.