Tout cela devient complexe ...
1) Essaye de travailler avec la dernière version des scripts/blender, sinon ça devient très très difficile pour faire les tests.
2) Malheureusement je n'ai pas 3ds donc pas moyen de tester le fichier d'origine.
3) J'ai regardé le fichier .blend:
Les origines sont "fantaisistes" et le morceau de route est déjà constitué de plusieurs objets.
4) Je vais essayer de te donner ma version des origines dans blender, j'espère que ce ne sera pas ennuyeux, et que cela permettra d’éclaircir le problème.
Dans blender un mesh (disons une liste de points) est "forcement" défini par rapport à une origine. C'est cette origine qui sera alignée sur la grille par exemple sur le snap est actif, et dès lors c'est très utile pour composer des meshs de grande taille à partir de mesh plus petit. C'est vraiment appréciable mais effectivement déroutant au début.
Un simple vertex [0,0]-[1,0] peut être défini de n façons différentes:
Origine en [0,0], un point en [0,0] un point en [1,0]
Mais aussi par exemple :
origine en [0.5,0], un point en [-0.5,0] et un point en [0.5,0].
J'enfonce peut être des portes ouvertes ... désolé.
J'ai l'impression que 3ds travaille avec un origine, qu'il arrange à sa sauce, c'est surement plus simple et plus efficace, mais blender lui ne l'entends pas de cette oreille, il aime les origines, les affiches et travaille avec.
Il est bien sur possible de placer le centre du mesh sous blender ou on veut,
"geometry to origin"
"origin to geometry"
"origin to 3D cursor"
Origin to geometry semble placer l'origine au centre du mesh (barycentre des points si je ne me trompe pas).
Sinon l'origine reste la ou elle etait lors de la création du mesh (peut etre comme sous 3ds ?)
5) Ton mesh à une origine en -0.2, -0.2 du coup l'objet est placé avec un offset de 0.2,0.2. Il apparaît bien en [0,0,0], mais ce n'est du qu'a l'addition de deux erreurs. (suis je clair ?). Un morceau de route qui debute en [0,0,0] on est en droit de s'attendre qu'il soit placé en [0,0,0] ok ?
6) Pour corriger ton mesh:
A mon avis place ton curseur 3D en 0,0,0 (utilise la fenêtre propriété et entre les valeurs "à la main").
Ton fichier .blend contient plusieurs objets (ce qui est encore plus compliqué
)
En mode objet (touche tab)
Selection tout les objets ('a')
puis object->transform->origin to 3D cursor : on place l'origine des objets la ou on l'attend en [0,0,0]
puis object->transform->geometry to origin : on centre les points par rapport a cette origine.
A partir de la l'export devrait fonctionner.
7) Les nouvelles versions des scripts d'export fonctionnement suivant 2 modes:
Scene ou objet ("export each element").
En mode objet ("export each element selectionné"), les coordonnées du mesh sont exportées telles quelles.
Chaque objet est exporté dans un fichier .tri à partir du nom du mesh. C'est très efficace, mais il faut etre très rigoureux sur les origines, nom des mesh ....
En mode scene, c'est un mode "normalement" plus wysiwyg, dans ce mode les origines sont moins importantes, puisque les offset des objets sont appliqués, les objets fusionnés etc ... c'est surement le mode qui devrait t’intéresser. Mais ce mode n'est pas le mode historique de l'export raydium. Il existe peut etre déjà dans le script d'export que tu utilises (verifie les option qui peuvent avoir changé de nom)8 ) Peux tu installer la version 2.60 de blender (je n'ai pas testé sur les suivantes et l'api python n'est pas encore très stable).
utiliser la dernière version du
script d'exportfaire quelques tests et me faire un feed back.
Il faudrait que l'on arrive à quelque chose d'utilisable ...
Bonne journée.
Ouille