[RESOLU] [XNA] Export depuis 3DS

J’en appele à votre aide, chers amis, car je commence à me sentir un peu dépassé par les évenements. Je tente désespérement d’importer un modèle fait dans 3DS dans XNA. J’ai pour ca essayé 3 exporteurs différents :

  • Le FBX d’autodesk
  • Le X de pandasoft
  • Le X de kw X Port

Dans les 3 cas, mon mesh a toutes ses normales inversées (entre autres problemes de taille, de mesh qui se décalent, etc). Alors pour palier le truc, j’ai essayé différentes choses (comme les inverser dans MAX), toutes les options des susdits exporteurs, rien à faire, elles sont jamais à l’endroit. Bien entendu, à chaque nouvel export je supprime le fichier dans Content et je le réinsère pour être sur qu’il s’agit bien de la nouvelle version qui sera prise en compte.

Ma question, fort simple donc : qu’est ce qu’il faut faire pour que ce putain de mesh ai ses normales ailleurs que DMC.

Ca m’embete d’autant plus qu’un des autres mesh que j’utilise a lui toutes ses normales dans le bon sens. Dernière précision, les deux mesh en question ont été réalisés par mes soins. (En vrac également, j’ai essayé aussi en leur collant du Reset XForm dans la geule, et le model qui s’importe mal est composé de plusieurs mesh). Si vous avez également des Do/Don’t do dans la conception des mesh (uniquement dans le cadre de l’utilisation avec XNA évidemment), je prend.

[quote=“bishop, post:1, topic: 38026”]J’en appele à votre aide, chers amis, car je commence à me sentir un peu dépassé par les évenements. Je tente désespérement d’importer un modèle fait dans 3DS dans XNA. J’ai pour ca essayé 3 exporteurs différents :

  • Le FBX d’autodesk
  • Le X de pandasoft
  • Le X de kw X Port

Dans les 3 cas, mon mesh a toutes ses normales inversées (entre autres problemes de taille, de mesh qui se décalent, etc). Alors pour palier le truc, j’ai essayé différentes choses (comme les inverser dans MAX), toutes les options des susdits exporteurs, rien à faire, elles sont jamais à l’endroit. Bien entendu, à chaque nouvel export je supprime le fichier dans Content et je le réinsère pour être sur qu’il s’agit bien de la nouvelle version qui sera prise en compte.

Ma question, fort simple donc : qu’est ce qu’il faut faire pour que ce putain de mesh ai ses normales ailleurs que DMC.

Ca m’embete d’autant plus qu’un des autres mesh que j’utilise a lui toutes ses normales dans le bon sens. Dernière précision, les deux mesh en question ont été réalisés par mes soins. (En vrac également, j’ai essayé aussi en leur collant du Reset XForm dans la geule, et le model qui s’importe mal est composé de plusieurs mesh). Si vous avez également des Do/Don’t do dans la conception des mesh (uniquement dans le cadre de l’utilisation avec XNA évidemment), je prend.[/quote]

Hum, c’est un mesh ou un poly sous Max ? Si c’est un mesh, convertis le en poly, reset Xform, collapse le stack puis exporte. Dis-moi si ca fonctionne mieux.

Tout ca pour ca ?

J’ai pas eu de souci particulier avec le dernier exporter fbx et max9 (sur le site d’autodesk). Il me semble que dans les derniers, ya meme une option, je confirmerai demain.
Sinon, regardes dans l’exporteur ce qui arrive en entrée, ou vois dans le content pipeline ce qu’il se passe, et modifie le la. Sinon, c’est ptet ton shader ou ton code, parce que la, c’est gros comme souci.

Enfin, version de max, de l’exporter fbx pour max, soft utilisés, version de xna, etc.

C’est un mesh. J’ai tenté ce que tu propose, pas d’amélioration.

[quote=“AnA-l, post:3, topic: 38026”]Tout ca pour ca ?

J’ai pas eu de souci particulier avec le dernier exporter fbx et max9 (sur le site d’autodesk). Il me semble que dans les derniers, ya meme une option, je confirmerai demain.
Sinon, regardes dans l’exporteur ce qui arrive en entrée, ou vois dans le content pipeline ce qu’il se passe, et modifie le la. Sinon, c’est ptet ton shader ou ton code, parce que la, c’est gros comme souci.

Enfin, version de max, de l’exporter fbx pour max, soft utilisés, version de xna, etc.[/quote]

Pour les versions des softs : Max 9 SP2, dernière version de chaque exporteur essayé, XNA 2.0.11128.1. Pas de shader, DefaultLightning, le code au plus simple recopié de l’exemple de MS. T’utilise quoi comme réglage de l’exporteur toi ?

[Edit] Je viens d’essayer à nouveau en vitesse avec un mesh tout con, un cube, une sphere et un cylindre, same shit.

Si ca te poses pas de souci, envoie moi ca que je regarde sur jbriguet-ankama-com (projet + fichier max). Je regardes dans 1h pour l’exporter. Mais sur les tests que j’ai fait, je te dis, j’ai vraiment eu aucun soucis.

Des fois que qqu’un d’autre veuille jeter un oeil je l’ai attaché à ce post

Je regarde ca de suite.

Euh la comme ca, j’ai ouvert ta solution, compilé, et, ca marche. Ou alors je vois pas du tout ce que tu veux faire, ou ce que tu veux obtenir. Un ptit screenshot aussi serait pas de refus.

Essayes avec ca : spriteBatch.Begin(SpriteBlendMode.Additive, SpriteSortMode.Immediate, SaveStateMode.SaveState);

Ligne 138 de Game1.cs, ca t’evitera des souci niveau rendu bizarre. Mais en tout cas, les tailles et les normales sont bonnes.

Donc à gauche XNA, à droite un rendu dans Max (j’ai viré l’autre gros truc moche pour plus de visibilité (t2 dans la solution))

Ok, donc c’est bien ce que je dis, c’est pas un probleme de normales (pour la taille, c’est peut etre un probleme d’unités, mais bon, une tite matrice de scale regle le souci).

Ton probleme est la : spriteBatch.Begin(SpriteBlendMode.Additive, SpriteSortMode.Immediate, SaveStateMode.SaveState);

Quand tu dessines avec le spritebatch, il met des renderstates qui font que ca désactive le zbuffer il me semble, si tu le réactives pas, tu as ce genre de souci. Plus de details ici : http://blogs.msdn.com/shawnhar/archive/200…nderstates.aspx

Pareil, si tu vire les 3 lignes pour afficher les x-y-z, ca te resoud le souci, puisqu’il ne set pas les renderstates.

Haaan ok, j’essaye tout ca et j’update pour dire si ca marche. Merci !

[EDIT] Bon ben effectivement, en changeant le spriteBatch.Begin en :

Ca a réglé le problème. Merci encore ^^

Shawn FTW!

Grave.