Raydium 3D Game Engine

Official forum for everything about Raydium, ManiaDrive, MeMak, ...
It is currently Thu Mar 28, 2024 11:54 am

All times are UTC




Post new topic Reply to topic  [ 83 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next
Author Message
PostPosted: Wed Apr 20, 2011 6:01 pm 
Offline

Joined: Sun Oct 09, 2005 10:46 pm
Posts: 759
Bonjour,

Il faut maintenant vérifier que le centre de l'objet est bien placé, voir mon précédent post.

Ensuite il faut aussi vérifier la taille de l'objet, ne pas oublier d'appliquer la taille au mesh en mode objet ctrl A 1.

je vérifierai si ça ne marche pas.

Bonne journée
Ouille


Top
 Profile  
 
PostPosted: Wed Apr 20, 2011 7:27 pm 
Offline

Joined: Thu Jul 23, 2009 8:48 am
Posts: 51
Je n'arrive à rien faire avec l'origine de l'objet. Impossible de la déplacer ou je veux. Le problème c'est qu'il ne faut pas la mettre au centre, maniadrive à besoin que l'origine se trouve sur un des coins du bloc. Le problème c'est que je n'arrive pas à placer ou je veux l'origine. Je ne peux la placer qu'au centre, mais ça n'arrangera rien...je n'ai pas trouvé comment faire pour la placer sur l'un des coins même si ça doit être possible. C'est le seul soucis majeur, la taille je ne pense pas que ce soit difficile par contre. Mais l'origine je galère, pourtant il me la faut dans un des coins...impossible de voir comment faire :(


Top
 Profile  
 
PostPosted: Wed Apr 20, 2011 7:53 pm 
Offline

Joined: Sun Oct 09, 2005 10:46 pm
Posts: 759
Bonjour,

Pour l'origine, place le curseur 3D la ou tu veux avec le bouton gauche de la souris.
Tu peux utiliser view -> view property pour placer le curseur 3D a partir de ces coordonnées.

Ensuite sélectionne l'objet et place l'origine: espace -> transform -> center cursor.

Normalement ca doit etre bon ... j'espère

Bonne journée
Ouille


Top
 Profile  
 
PostPosted: Fri Apr 22, 2011 10:41 am 
Offline

Joined: Thu Jul 23, 2009 8:48 am
Posts: 51
Au niveau du recentrage je n'ai aucun problème, maintenant grâce à tes explications ça marche impec' :) Le problème c'est la taille...que j'augmente ou réduise les dimensions du bloc sur 3dsmax semble ne rien changer. Soit le bloc est microscopique, soit il est tellement gros qu'il fait 20x20 blocs en taille. (j'ai regardé à tout hasard les "units" utilisés dans 3dsmax. Je n'utilise pas de mesure réelle, genre cm, km, mm...mais une unité générique. Je n'ai jamais eu de problème pour les autres jeux mais peut-être que maniadrive à besoin d'un autre type d'unité... ? Mais perso, je pense que si la taille de blocs varie d'une manière aussi significative, c'est qu'il doit y avoir un petit problème quelque part, percistant, propre au bloc... :?


Top
 Profile  
 
PostPosted: Fri Apr 22, 2011 3:14 pm 
Offline

Joined: Sun Oct 09, 2005 10:46 pm
Posts: 759
Bonjour,

N'oublie pas d'appliquer le changement de taille au mesh sous blender si tu la modifie.

Sinon je ne sais pas trop pourquoi la taille n'est pas conservée entre 3DS et blender.

Bonne journée
Ouille


Top
 Profile  
 
PostPosted: Sun Aug 26, 2012 11:01 am 
Offline

Joined: Thu Jul 23, 2009 8:48 am
Posts: 51
Salut. Encore un comeback, ça deviens une habitude, chaque année après un an d'absence je reposte sur ce forum... :mrgreen:
Voilà, alors j'ai réinstallé Blender, Python Maniadrive et tout ce qu'il me fallait...et devinez quoi ? J'ai encore des soucis de niveau de l'export vers Maniadrive. :oops:

J'ai encore des problèmes au niveau du centrage sur tous mes blocs. Au niveau du texturage, les ennuis ne sont plus qu'un mauvais souvenir, je peux faire des blocs aussi complexes que le tunnel (voir début du topic) sans le moindre défaut de texture ou d'infos UVW. Mon éternel problème reste la position du bloc...
Quoi que je fasse, il est toujours placé n'importe comment par rapport au "carré" la ou il devrait être. J'ai essayé de suivre les directives de Xfennec pour remédier à ce problème (voir page 3 avec l'arbre) mais ça ne résoud pas le problème. En fait, c'est les points roses les "origines" qui sont placés n'importe ou et c'est ça qui fout le bordel.

Le truc c'est que, habitué à 3dsmax et totalement mauvais sur Blender, je n'ai pas des éspèces "d'origines" sous 3dsmax, elles n'apparaissent que sous Blender et ça, ça a toujours été, même à l'époque des 1ères pages de ce topic. La technique du "Center Cursor > Ctrl + A > Scale and Location to ObData puis export" ne remet pas une origine en place. (D'ailleurs à ce propos, sur certains blocs j'ai 2 origines, comme l'arbre en page 3, mais sur un bloc plus simple je n'en ai qu'une même en dézoomant beaucoup. Y'a t'il donc un nombre variable d'origines ou bien y'en a un nombre fixe mais les miennes sont donc superposés ?).

Ah d'ailleurs, en relisant les anciens messages de ce sujet (le passage avec l'arbre et les origines qui posent problème, la 3ème page), et j'ai vu qu'Xfennec me conseillait de ne pas faire des choses comme des rotations, ou changements d'échelles afin de ne justemement pas déplacer ces origines. Le truc c'est que je ne peux pas faire autremement, j'utilise un truc et ce tout le temps, tout le temps dans 3dsmax, pas uniquement pour ManiaDrive, c'est le changemement d'échelle. Ca justifie mes problèmes d'origines et le fait que pour tous mes blocs j'en ai jamais eu de valables (en position). Je ne peux pas faire autremement, n'étant pas vraiment doué non plus sous 3dsmax, c'est le genre d'outils "peu recommandés" pour l'édition mais ne sachant pas super bien l'utiliser, je ne fait que des accumulations de bidouillages.

Voilà voilà, j'éspère avoir été clair dans mon post :)

Alors si ouille ou Xfennec trainent encore par ici, ça serait bien qu'ils aident un éternel mauvais :P


Top
 Profile  
 
PostPosted: Sun Aug 26, 2012 9:52 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Salut,

Le plus simple serait peut-être de poster ton modèle Blender ? Comme ça, je regarde si j'arrive à le recentrer (ou si le script y arrive :) et je te donne la manip'.


Top
 Profile  
 
PostPosted: Mon Aug 27, 2012 8:30 am 
Offline

Joined: Sun Oct 09, 2005 10:46 pm
Posts: 759
Bonjour,

Peux tu poster ton fichier blend, que je puisse faire les tests stp.

Bonne journée.
Ouille.


Top
 Profile  
 
PostPosted: Mon Aug 27, 2012 2:11 pm 
Offline

Joined: Thu Jul 23, 2009 8:48 am
Posts: 51
En plus du fichier *blend (je tiens à préciser que j'utilise la même version qu'à l'époque de mes anciennes questions sur ce topic, donc Blender 2.49) j'ai inclus le fichier *3ds et les textures du bloc afin que vous puissiez mieux voir, si jamais vous voulez le visualiser quelque part...
L'archive se trouve > ici (cliquez sur "download from sendspace vers le milieu et pas vers le téléchargemement tout en haut qui n'est qu'une pub. L'archive se nomme "street.zip")


Top
 Profile  
 
PostPosted: Tue Aug 28, 2012 6:49 pm 
Offline

Joined: Sun Oct 09, 2005 10:46 pm
Posts: 759
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'export

faire quelques tests et me faire un feed back.

Il faudrait que l'on arrive à quelque chose d'utilisable ...

Bonne journée.
Ouille


Top
 Profile  
 
PostPosted: Tue Aug 28, 2012 8:17 pm 
Offline

Joined: Thu Jul 23, 2009 8:48 am
Posts: 51
ouille wrote:
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 du mal à comprendre cette partie en vérité. Tu me parles de 2 "points" et le fait que l'origine puisse être située soit sur l'un, sur l'autre, ou au milieu des 2, c'est bien ça grosso modo l'idée ?


ouille wrote:
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).
[...]
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.


j'y avais déja pensé mais je n'arrive pas du tout à manipuler Blender. Je n'arrive pas à placer le curseur 3D en 0:0:0, c'est aussi bête que ça mais je ne suis pas certain à 100%. En vérité j'ai des doutes sur quelque chose à propos du bloc lui même, si on fait un grand zoom vers les 0:0:0 dans Blender avec la vue du dessus, on peut voir qu'il y a un petit décalage et que les 2 côtés ne "touchent" pas les axes qu'ils devraient toucher (en coorodonné 0. Voir l'image à la fin de mon post pour voir ce que je veux dire). C'est que c'est comme si les X et les Y du bloc, au lieu de démarrer en 0 et stopper en 1, commencent plutôt en 0.05 ou 0.10, et stoppe en 1.05 ou 1.10, y'a un petit décalage, décalage que je n'ai que sous Blender et pas sous 3dsmax et je pense que les origines n'ont rien à voir là dedans (si ?)

Je vais essayer avec le nouveau script et la version de Blender que tu me recommandes, on ne sait jamais, mais ce problème de "décalage" semble inquiétant.
Voilà l'image du décalage dont je parle, je rapelle que je n'ai ça que sous Blender et pas sous 3dsmax ou le bloc "commence" en coordonné 0 sur les 3 axes, y compris en Z, (hauteur. Je le marque quand même car certains logiciels peuvent avoir des axes différents).

Image


Top
 Profile  
 
PostPosted: Wed Aug 29, 2012 6:38 pm 
Offline

Joined: Sun Oct 09, 2005 10:46 pm
Posts: 759
Bonjour,

Effectivement je trouve le meme décalage d'origine.

Par contre si je dumpe les valeurs flottantes lues dans le fichier street.3ds lors de l'import blender je trouve cela:
Quote:
importing 3DS: 'C:\\Docum...eet\\street.3DS'...(0.3396511971950531, 0.25099998712539673, -0.000649
9994779005647, 0.33398765325546265, 0.25099998712539673, 0.002628970891237259, 0
...
2539673, -0.0006499994779005647, 0.6625591516494751, 0.5009999871253967, -0.0006
448496133089066)
object verts: bytes read: 848

done in 0.0372 sec.


Pas beaucoup de valeurs "rondes" dans le dump complet.

En fouillant dans le fichier 3ds, il semble que les vertices soient dans un chunk 4110.
Les trois premières valeur trouvées sont (d'après moi):
Quote:
C3E6AD3E1283803EBA642ABA

En flottant cela donne:
Quote:
3,396512e-1, 2,51e-1, -6,499995e-4


La lecture sous blender me semble dès lors bonne (pour les vertices). Il y a certes des erreurs d'arrondi mais de 1e-6 (normal c'est du flottant) et pas en 1e-2.
Il y a une option size constraint sous blender qui peu poser probleme.

Peux tu vérifier les coordonnées de tes vertices sur 3ds ? Quelle est la taille de ton objet sous 3ds.

Vérifier que toutes ces données sont "parfaitement" entières, pour éviter ces erreurs d'arrondi.

A mon avis il y a un couple maudit sous 3ds taille objet / taille mesh qui compense les erreurs, ce couple n'est pas appliqué exactement de la même facon par blender d'ou le decalage.

J'aimerai bien cependant avoir des données 3ds "propres"...

Merci et bonne journée.
Ouille.


Top
 Profile  
 
PostPosted: Wed Aug 29, 2012 8:50 pm 
Offline

Joined: Thu Jul 23, 2009 8:48 am
Posts: 51
J'ai rien compris à la 1re moitié de ton message, c'est bien trop compliqué.

je vais ré-essayer l'export sous 3dsmax en vérifiant bien que ce soit bel et bien collé sur les axes et donc de virer le décalage, si j'en ai un sous 3dsmax, et verifier aussi qu'il fasse 1x1 unité en longeur.


Top
 Profile  
 
PostPosted: Thu Aug 30, 2012 9:17 am 
Offline

Joined: Sun Oct 09, 2005 10:46 pm
Posts: 759
Désolé,

La première partie du message explique que dans le fichier 3ds que tu m'as donné, les données présentes sont déjà décalées.

Il faudrait surement fouiller dans blender pour que l'import recadre les données, mais l'import 3ds étant sur utilisé, je ne pense pas que l'on puisse faire grand chose.

La deuxième solution, est effectivement d'essayer d'avoir des données "propres" dans 3ds.

Merci pour les tests.
Ouille


Top
 Profile  
 
PostPosted: Thu Aug 30, 2012 10:14 am 
Offline

Joined: Thu Jul 23, 2009 8:48 am
Posts: 51
J'ai vérifié le fichier *max (format 3dsmax) sans même y toucher et je confirme, le bloc fait bel et bien 1 unité en longueur X et en profondeur Y. Le coin, en plus de ça commence bel et bien en 0:0. C'est sûr, je viens de regarder.

Y'a donc une couille (désolé :oops: ) à l'export en *3ds (*3ds est le seul format "lisable" et "ouvrable" avec la plupart des logiciels 3D, pour ne pas dire tous. le format *max est un "projet" 3dsmax, c'est l'équivalant du format *blend pour blender. Je pense que tu sais tout ça mais on ne sait jamais)

En tout cas je comprends pourquoi j'ai des soucis depuis les premières pages de ce topic, même en suivant les recommandations, c'est l'export qui ne se passe jamais correctemement ce qui veut dire que dans un sens, ce n'est pas de ma faute :mrgreen:

Celà dit, je n'ai pas encore essayé avec la versionde Blender que tu m'as indiqué, je vais essayer ça dans la journée. Le but de ce message était surtout pour te dire que sous 3dsmax, le fichier est nickel, même en hauteur Z il est la ou il doit être, longueurs pile poil exactes (1x1), le coin pile sur l'origine 0:0 et le bloc qui va bien "vers les positifs" bref, tout est ok sous 3dsmax mais l'export en *3ds semble mettre le merdier à tout ça.

Je vais quand même te montrer tout ça en 2 images afin que tu puisse voir par toi même : :)

Image

Image


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 83 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 11 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group