Convertir PLY en OBJ

Vous pouvez convertir PLY en OBJ gratuitement et sans compte : déposez le fichier ci-dessus et, une ou deux secondes plus tard, le résultat est prêt à télécharger. La conversion se fait dans votre propre navigateur : le fichier n’est donc jamais téléversé. Cela marche sous Windows, macOS et Linux comme sur iPhone et Android, et continue de marcher si vous coupez le réseau.

  • Où cela s’exécute Dans votre navigateur. Le fichier n’est pas téléversé.
  • Reconstruit OBJ ne fonctionne pas comme PLY. Il ne s’agit donc pas de la dégradation progressive d’un codec avec perte : ce que OBJ sait exprimer est reproduit fidèlement, et ce qui n’y a pas d’équivalent ne subsiste pas du tout.
  • Limite de taille Jusqu’à 100 Mo par fichier, gratuitement et sans compte.
  • Bon à savoir La géométrie seule. Les matériaux, les couleurs, les textures et l’animation ne suivent pas, et un modèle placé plusieurs fois revient avec chaque copie figée à sa propre position.

Jusqu’à 100 fichiers à la fois. Les formats mélangés ne posent pas de problème.

Un scan devient un OBJ quand quelqu’un doit travailler dessus

PLY est l’endroit où vivent les scans et OBJ est l’endroit où se fait la modélisation. Chaque logiciel de sculpture et d’animation lit l’OBJ sans y penser ; le support PLY va de bon, dans Blender et MeshLab, à absent, dans un bon nombre des outils qu’un pipeline de studio contient réellement. Quand un scan doit être retopologisé, décimé à la main, sculpté dessus ou utilisé comme mesh de base, la première étape est en général un changement de format.

La conversion est petite parce que les deux formats sont proches en ambition. Tous deux décrivent une surface comme une liste de sommets et une liste de polygones par-dessus, tous deux sont en texte, et tous deux sont suffisamment anciens pour que tout le monde les lise. Ce qu’OBJ ajoute, c’est le groupement et une référence de matériau ; ce que PLY ajoute, ce sont des propriétés arbitraires par sommet. Cette conversion porte la géométrie qu’ils partagent.

La couleur est la raison pour laquelle le fichier était un PLY, et OBJ ne la portera pas

Un scan de photogrammétrie ou à lumière structurée stocke son apparence en rouge, vert et bleu sur chaque sommet. Il n’y a pas de texture, pas de layout UV et pas de fichier image — la couleur est une propriété de la géométrie, ce qui est toute la raison pour laquelle PLY est devenu le format de scan.

L’OBJ que ce convertisseur écrit contient des lignes v et f et rien d’autre : pas de coordonnées vt, pas de référence mtllib, pas de .mtl associé. Même un fichier de matériau écrit à la main ne pourrait pas porter de couleur par sommet, parce que les matériaux OBJ s’appliquent par groupe de faces. Le flux de travail pratique est de garder les deux fichiers — faire le travail de géométrie depuis l’OBJ, et reprendre la couleur depuis le PLY plus tard en baked les couleurs de sommets en texture dans un outil qui les lit.

L’OBJ arrive comme un groupe unique nommé mesh_1

Un fichier PLY décrit un élément vertex et un élément face. Il n’y a pas de notion d’objet, de groupe ou de pièce, et aucun nom nulle part dans l’en-tête pour la surface elle-même. Donc le convertisseur produit exactement un groupe o, et puisqu’il n’y a pas de nom à porter, il en écrit un généré : mesh_1.

Dans Blender ou Maya, c’est ce qui apparaît dans l’outliner. Sur un scan unique, c’est sans conséquence ; sur un projet où six scans sont combinés, c’est une vraie gêne, parce que chaque import produit un objet portant le même nom. Renommez à l’import, ou renommez la seule ligne o de l’OBJ dans un éditeur de texte avant d’importer — c’est la deuxième ligne du fichier.

Votre liste de sommets PLY passe dans l’OBJ intacte

C’est une vraie différence entre cette paire et la plupart des autres ici. Quand un STL ou un OBJ est lu, les sommets coïncidents sont soudés à six décimales, parce que ces formats arrivent couramment avec des doublons. Quand un PLY est lu, son tableau de sommets et ses indices de face sont pris tels qu’ils sont écrits.

C’est le bon comportement pour des données scannées, qui ont déjà été maillées par un logiciel qui a pris des décisions délibérées sur la connectivité. Cela veut dire aussi que la conversion ne peut rien nettoyer : si le scan porte des sommets en double, des sommets non référencés ou des coutures fendues, ils arrivent dans l’OBJ inchangés. Le nombre de sommets dans l’OBJ correspondra au nombre de sommets dans l’en-tête du PLY, ce qui est un moyen rapide de confirmer que le fichier s’est converti comme vous l’attendiez.

Les nuages de points ne deviennent pas un OBJ ici

Un PLY contenant des sommets et pas de faces est refusé avec un message qui explique pourquoi. Ce fichier est un nuage de points, ce que produit un scanner avant que quoi que ce soit le maille, et transformer des points en une surface est de la reconstruction plutôt qu’une conversion — une opération avec des paramètres, un aperçu et un résultat que quelqu’un doit valider.

Faites-le là où cela a sa place. MeshLab et CloudCompare proposent tous deux la reconstruction de surface par Poisson et par ball-pivoting ; Open3D expose les deux depuis Python ; le logiciel de chaque scanner a une étape de maillage. Convertissez ensuite la sortie maillée. Un convertisseur qui reconstruirait silencieusement une surface vous remettrait une forme que vous n’avez jamais choisie et aucun moyen de savoir qu’il l’a fait.

Ce que deviennent les faces PLY à plus de trois coins

Les listes de faces PLY peuvent contenir n’importe quel nombre d’indices, et les outils de maillage émettent parfois des quads. Toute face avec plus de trois coins est triangulée en éventail depuis son premier indice avant d’être écrite, ce qui est correct pour des polygones convexes et peut mal se comporter sur des concaves.

Les maillages de scan sont déjà très largement des triangles, donc cela s’applique rarement. Là où cela s’applique, notez que l’OBJ qui sort est en triangles uniquement — l’écriture émet trois indices par ligne f et ne reconstruit jamais de quads. Si votre flux de retopologie veut un mesh de base en quads, c’est quelque chose que vous construisez dans l’application de modélisation, pas quelque chose qu’un scan aurait jamais fourni.

Densité du scan et taille de l’OBJ résultant

Un PLY binaire stocke une coordonnée float32 en quatre octets. Le même nombre écrit dans un OBJ prend de huit à dix-huit caractères plus des séparateurs, donc un OBJ texte d’un scan dense est plusieurs fois la taille du fichier dont il vient, et un mesh brut de photogrammétrie de plusieurs millions de triangles produit un fichier texte qui fera peiner un éditeur.

Décimer d’abord est presque toujours le bon mouvement, et c’est une meilleure décision prise dans MeshLab contre le PLY que dans votre application de modélisation contre l’OBJ, parce que le quadric edge collapse de MeshLab peut recevoir l’ordre de préserver les bords et la topologie. Arriver à quelques centaines de milliers de triangles avant la conversion rend tout ce qui suit plus rapide et ne perd rien qu’un modélisateur regrettera.

Que faire de l’OBJ une fois dans votre application de modélisation

Attendez-vous à une surface à facettes. Aucune ligne vn n’est écrite, donc les normales de face plates sont calculées à l’import ; passez en shade smooth ou appliquez un angle auto-smooth et le scan retrouve son apparence. Attendez-vous aussi à aucun matériau, et attribuez-en un avant toute autre chose pour que le mesh soit visible contre le fond du viewport.

Puis le travail habituel de scan : retirer les îlots parasites que le scanner a ramassés de l’arrière-plan, remplir les trous là où il n’a pas vu, et retopologiser si le mesh doit être animé ou subdivisé. Rien de tout cela n’est un travail de conversion et rien ne devrait être dans un convertisseur — le but de cette étape est de mettre la géométrie dans l’outil où ces opérations sont chacune une commande.

Gardez le PLY après avoir l’OBJ

L’OBJ est un fichier dérivé. Il a la forme et aucune des couleurs, aucune des valeurs de confiance ou de qualité par sommet qu’un scanner écrit, et aucune des normales si le PLY en portait. Chacune de ces informations est irrécupérable depuis l’OBJ.

Le schéma qui marche est de traiter le PLY comme le maître et l’OBJ comme une copie de travail : modélisez contre l’OBJ, et revenez au PLY chaque fois que l’apparence ou les métadonnées du scanner sont nécessaires. Les deux fichiers restent sur votre machine dans les deux cas — cette conversion tourne dans le navigateur sans rien téléverser, ce qui vaut la peine d’être su quand le scan est celui d’un objet de client ou d’une personne.

Comment convertir PLY en OBJ

  1. Déposez votre fichier PLY sur cette page, ou cliquez pour en choisir un.
  2. Choisissez OBJ comme destination. La conversion se fait dans votre navigateur et le fichier n’est pas téléversé.
  3. Téléchargez le fichier OBJ terminé.

PLY et OBJ : ce qui change

PLY face à OBJ
PLYOBJ
Nom completPolygon File FormatObjet Wavefront
Extension de fichier.ply.obj
Type de médiamodel/plymodel/obj
Première publication19941992
Publié parStanford UniversityWavefront Technologies
LicenceStandard ouvertStandard ouvert
Situation actuelleActuelActuel
S’ouvre dans un navigateurAucun navigateurAucun navigateur
Envisagé à la placeSTLGLTF, STL

Ouvrir le résultat

MeshLab et Blender lisent aussi bien PLY que OBJ : vous pouvez comparer le résultat à l’original sans second logiciel.

À quoi sert chaque format

OBJ vient de Wavefront Technologies et date de 1992. Blender, MeshLab et Maya le lisent.

De PLY à OBJ : questions fréquentes

Mon fichier PLY est-il téléversé quelque part ?

Non. Cette conversion se fait entièrement dans votre navigateur : le fichier ne quitte donc pas votre appareil. Vous pouvez le vérifier vous-même — ouvrez l’onglet réseau des outils de développement et convertissez quelque chose. Vous verrez la page elle-même et les requêtes de statistiques et de publicité qui financent ce service, et pas une seule qui transporte votre fichier.

Convertir PLY en OBJ est-il gratuit ?

Oui. Pas de compte, pas de filigrane et pas de quota journalier à dépenser : cela tourne sur votre propre machine, vous pouvez donc revenir autant de fois que vous voulez. Le navigateur traite des fichiers jusqu’à 100 Mo, 100 à la fois.

Y a-t-il une perte de qualité en convertissant PLY en OBJ ?

PLY et OBJ décrivent le contenu de façons radicalement différentes. La conversion est donc une reconstitution et non une copie : fidèle, mais pas identique octet pour octet. La géométrie seule. Les matériaux, les couleurs, les textures et l’animation ne suivent pas, et un modèle placé plusieurs fois revient avec chaque copie figée à sa propre position.

Dois-je installer quelque chose pour ouvrir un fichier OBJ ?

Pas pour la conversion : elle se fait dans le navigateur que vous avez déjà ouvert. Pour ouvrir le résultat, il vous faut ensuite le logiciel avec lequel votre appareil affiche habituellement Wavefront Object.

En savoir plus sur ces formats