PDA

Voir la version complète : Export .obj



Ollam
19/04/2016, 17h18
Bonjour,

Je rencontre un problème.
Quand j'exporte un travail en .obj, celui-ci s'exporte à l'envers.
L'explication est plus compréhensible en image (ci-dessous).
Dans la première, la création dans 4cd
dans le deuxième, le fichier .obj chargé dans un autre logiciel.
Je rencontre ce problème dans n'importe lequel des logiciels, que se soit blender, Meshlab ou comme ici dans l'exemple substance painter:

Quelqu'un aurait il une idée ?

Merci d'avance

17687
17686

valkaari
19/04/2016, 17h53
Quand tu exportes ton obj avec la r17 du moins, tu as des options pour flip/swap les axes.

Les axes x, y, z ne sont pas forcement dans la même direction suivant les softs.

Il faut donc inverser ou échanger des axes.

Comme c'est dépendant pour chaque soft, il faut que tu test mais ça reste très logique.

On dirait qu'il faut que tu fasses un flip X dans ton cas.

Ollam
19/04/2016, 23h02
Bonsoir,

Oui, j'avais testé toutes ces options.
Mais des que je coche une "symétrie" (voir toutes) ou les "permutations", je me retrouve avec des objets transparents (voir image ci-dessous).
Dans les images ci-dessous le socle est vide, la partie supérieure a disparue, il ne reste que le fond et les cotés, maos quand on regarde l'image de dessous, c'est l'inverse, je perd le fond et seul le dessus est visible, d'ailleurs on devine la trace du cone.

Je ne sais plus quoi faire

Merci d'avance
Cordialement

1769017689

gr4ph0s
19/04/2016, 23h44
Tu as essayé d'éditer ton texte avant de l'exporter?

Ollam
19/04/2016, 23h51
C'est à dire ?

Le problème n'est pas que sur le texte, tout est à l'envers.
Un objet scanné est également à l'envers.
Non seulement l'objet est à l'envers, mais la texture l'est aussi, les deux sont donc ok l'un par apport à l'autre.

valkaari
20/04/2016, 12h16
Ce n'est pas la partie supérieure qui a disparue mais elle n'est pas affichée.

Contrairement à cinema4D, certain soft utilisent la direction des "normals" des polygons pour afficher ou non le polygon. (ça optimise)

Donc soit tes normals sont inversées ( ce qui n'est pas le cas si tu utilises des primitives)
Soit il faut à l'export en obj inverser les normals. (cinema4D parle de flip face)




Donc, un flip X et un flip Face pour ton cas je dirais.

joecare
20/04/2016, 14h08
ben là il semble que ce soit juste l'axe Z qui pose problème...
par defaut dans l'interface de C4D l'axe Z est bien axé sur la profondeur, mais vers le devant de la scène, alors que sur d'autres soft,le Z pointent le fond de la scène... assez logique somme toute...
donc, en inversant l'axe Z uniquement, tu devrais retrouver tout en ordre après l'export..

Ollam
20/04/2016, 15h40
Bonjour à tous et merci pour vos conseils.

Je viens de remarquer quelque chose de très intéressant !!!!
Je m'explique:
un objet est scanné, quand traitement terminé je l'enregistre en .obj.
Je l'ouvre avec c4d pour y faire mes modifications, puis j'enregistre à nouveau mon travail en .obj pour l'exporter dans un nouveau logiciel comme Subtance painter par exemple.
Et bien là tous fonctionne très bien et ce, en ne cochant que la symétrie X
Bref, comme cela c'est super !!!!
17704
Mais les choses se complique quand je souhaite reprendre un travail à partir d'un fichier enregistré depuis c4d.
Si j'ouvre un fichier .obj ou c4d (qui à été enregistré avec c4d) avec Cinema4D, l'affichage du fichier est parfait, mais le problème commence ici, si j'enregiste à nouveau mon travail en .obj et l'ouvre dans un autre programme, c'est la débacle et me retrouve avec les exemples cités au début de ce courrier.

Pour résumé, l'ouverture d'un .obj ne peut se faire correctement avec un autre logiciel seulement après un seul enregistrement en .obj depuis C4D.

Cela parait insensé, c'est vrai !!!!!
et pourtant j'ai répété cet exercice à plusieurs reprises avec différents fichiers avec toujours le même résultat.

Donc, obligation de finir mon travail en une fois ou reprendre tout depuis le fichier initial à chaque fois.
Chouette !!!!

Aurety
20/04/2016, 16h20
Essaie Riptide pro pour import et export OBJ, c'est le plugin qui ne m'a jamais fait défaut.

valkaari
20/04/2016, 16h21
Tu crées un cube, tu l'édites, tu sélectionnes tes poly et tu inverse la normal (U~R)
Si tu actives 'faces cachées" dans le menu option de ta vue, tu vas retrouver le même soucis que quand tu importes dans ton autre soft. Tu as donc bien un problème d'inversion de normals.

Pour les objets qui sont en -X et qui se retrouvent en +X c'est une inversion de l'axe X.

Ce n'est pas logique d'utiliser le format obj pour sauvegarder le travail fait dans cinema4D.

Lorsque tu importes ton fichier obj dans cinema4D il ajoute sur l'objet un tag "normal" qui sert à "traduire" les informations des normals des polygons.

Parce qu'on parle de normal de polygon mais en fait les points aussi peuvent en avoir et certain soft utilisent les normals des points pour définir la normal du polygon.


Donc, importe ton fichier dans c4D. Si tu as besoin de le modifier, vire le tag normal et re-travail le tout. Utilise le format c4d.

Quand t'as terminé, exporte en obj.


A moins que tu ne parles d'un bug. Dans ce cas, faudra attendre la r18. (ou 19 ou 20)

Ollam
21/04/2016, 11h17
Bonjour à tous,
je vous remercie pour votre aide qui m'a été d'une grande aide.
C'est sympa.

Une dernière question, mais qui n'a rien à voir.

Savez vous si C4D a une fonction permettant de boucher les trous d'un maillage d'un objet scanner ?

Merci d'avance
Cordialement

17715

valkaari
21/04/2016, 15h32
le seul truc qui pourrait t'aider dans le nettoyage d'un objet c'est dans la palette attributs. Tu as le menu mode puis modélisation.

Tu aura un onglet pour vérifier ton objet. Les points isolé, les trou etc.

Par contre attention sur un objet scanné ça peut être très lourd cette affichage. Je te conseils de ne pas avoir ton objet sélectionné, de désactiver les options d'affichage puis de sélectionner ton objet pour les réactiver une par une.

Tu peux du coup sélectionner les trou. Par contre pour tous les bouchers je vois pas trop là. Il me semble avoir vu un script qui faisait ça mais je me souviens plus trop où....

Je sais que c'est une fonction d'houdini par contre mais .... ça n'aide pas dans ce cas xD