Research paper implementation for artist-created mesh generation
Top 41.6% on sourcepulse
MeshAnythingV2 addresses the challenge of generating high-quality, artist-like 3D meshes from various inputs, including text, images, and existing meshes. It is designed for researchers and developers in computer graphics and AI who aim to create or manipulate 3D assets with an artistic touch, offering a novel approach to mesh tokenization for improved generation quality.
How It Works
The core innovation lies in "Adjacent Mesh Tokenization," a method that represents 3D meshes as sequences of tokens, enabling generative models to learn and produce mesh structures more effectively. This approach is advantageous as it allows for a more structured and controllable generation process compared to direct mesh manipulation or voxel-based methods, facilitating the creation of meshes that mimic artistic styles.
Quick Start & Requirements
conda create -n MeshAnythingV2 python==3.10.13
), activate it, and install dependencies (pip install -r requirements.txt
, pip install flash-attn --no-build-isolation
, pip install -U gradio
). PyTorch with CUDA 11.8 is required.python main.py --input_dir rodin_result --out_dir mesh_output --input_type mesh --mc
. For mesh input, use python main.py --input_path examples/wand.obj --out_dir mesh_output --input_type mesh
.python app.py
.Highlighted Details
--mc
) is recommended for better alignment.--mc_level
).Maintenance & Community
The project is associated with multiple academic institutions, including Nanyang Technological University and Tsinghua University. Links to community resources like Discord or Slack are not explicitly provided in the README.
Licensing & Compatibility
The repository does not explicitly state a license. The code is presented as the "Official impl." for the paper "MeshAnything V2: Artist-Created Mesh Generation With Adjacent Mesh Tokenization," suggesting it is intended for research purposes. Commercial use compatibility is not specified.
Limitations & Caveats
The model is trained on meshes with fewer than 1600 faces and cannot generate meshes exceeding this limit. Input meshes should be sharp enough for representation within this face count. The README suggests using outputs from 3D reconstruction, scanning, SDS-based methods, or Rodin for optimal results. The up-vector of input meshes should be +Y.
3 months ago
Inactive