À propos du projet

Chitin est un compilateur conçu pour transformer diverses entrées de géométrie 3D—telles que des nuages de points, des champs gaussiens, des maillages et des modèles skinnés—en enveloppes convexes portables adaptées aux moteurs physiques. Il génère un format binaire persistant (.phys) qui stocke les enveloppes convexes quantifiées, les transformations de liaison et les niveaux de détail de collision (LOD), garantissant que les actifs physiques résultants sont indépendants du visualiseur ou du moteur d'origine. Les capacités principales comprennent : - **Support large des entrées** : traite les actifs PLY, OBJ, STL, GLB et USD, avec un support spécifique pour extraire la géométrie de collision des nuages de points de splats gaussiens à l'aide du filtrage d'opacité et de la reconstruction de surface de Poisson. - **Intégration multiplateforme** : fournit des lecteurs runtime légers pour Python, TypeScript, C# et C++. Il inclut des intégrations dédiées pour Three.js + Rapier (Web), Unity (via ScriptedImporter) et Unreal Engine. - **Déploiement flexible** : propose un pipeline basé sur Python pour la reconstruction lourde et un chemin basé sur le navigateur utilisant WASM (via @autarkis/chitin-lite) pour les maillages statiques et les champs gaussiens. - **Traitement avancé** : comporte un partitionnement basé sur un octree pour les grandes scènes, une détection de platitude basée sur l'ACP pour optimiser la génération d'enveloppes, et un support expérimental pour des enveloppes convexes par os dans les modèles GLB riggés. - **Outillage de pipeline** : inclut des commandes CLI pour l'extraction, l'inspection et la validation des fichiers .phys, ainsi qu'un service de construction local avec mise en cache adressable par contenu.