Raydium 3D Game Engine

Official forum for everything about Raydium, ManiaDrive, MeMak, ...
It is currently Tue Apr 30, 2024 6:59 pm

All times are UTC




Post new topic Reply to topic  [ 21 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: Sat Oct 29, 2005 1:56 pm 
Offline

Joined: Sat Oct 29, 2005 12:43 pm
Posts: 65
Bonjour,

Je me lance aujourd'hui dans des tests de Raydium, et forcément, pleins de questions me viennent à l'esprit :)

(Dans ce qui suit, je parle en particulier des tests que j'ai fait avec l'exemple du tutorial sur la physique)

1/ pourquoi mettre les roues dans des sphères ?
En effet, cela génère des trucs bizarres.. par exemple lorsque les roues se détachent, elles tournent comme des sphères et non comme des cylindres (logique, vu qu'elles sont dans des spères, mais ce n'est pas vraiment réaliste)

2/ J'utilise un joypad PS1. J'ai voulu laisser la direction sur l'analogique de gauche (x) et mettre l'accélération sur l'analogique de droite (z), mais voila, 2 analogiques, ça fait 4 directions (x1,y1 x2,y2).. donc si j'accélère en tournant légèrement l'analogique à droite ou à gauche, ça fonctionne mal.
(pas sur que ça soit très clair :D )

3/ Quel est le meilleur moyen pour régler le "centre de gravité" ?
Dans l'exemple, la voiture se renverse facilement (un peu comme la voiture du désert de Trackmania)... Comment faire pour qu'elle soit plus stable (comme la voiture du rally)?
Augmenter la masse? autre?

4/ J'ai essayé de faire un objet sous Blender et de l'exporter, mais j'ai un peu de mal...
Je suis parti du cube de départ, je l'ai étiré en x et y, puis ctrl+A comme lu dans un autre post, et exporter en .tri avec le script python...
Mon but étant de faire une plateforme sur laquelle me balader avec la voiture...
Mais ça ne fonctionne pas ^^, je n'arrive pas trop à voir ce qui se passe, des que je lance l'exemple, la caméra se met à tourner dans tous les sens...

Euh, ben en fait j'ai pas tant de questions que ça ^^ (pour le moment ;) )


Top
 Profile  
 
 Post subject:
PostPosted: Sat Oct 29, 2005 3:31 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
1/ pourquoi mettre les roues dans des sphères ?
Simple, ODE "vanilla" ne gère pas les cylindres :) Si un support des cylindres passe officiel dans ODE, il sera simple d'ajouter cette primitive à RayODE.

2/ J'utilise un joypad PS1 ...
Effectivement, je ne suis pas certain de comprendre :) Une chose est certaine, le support des joystick/joypad n'est pas assez "complet" dans Raydium. N'ayant eu pour l'instant que des besoins très simples sur ce point, ça m'a toujours suffit. Il ne faut pas hésiter à proposer des évolutions de cette API.

3/ Quel est le meilleur moyen pour régler le "centre de gravité" ?
Voir le code source de ManiaDrive (il y'en a une version qui traine sur ce forum) : un balancier !

4/ ... Blender ...
C'est délicat à expliquer ici. Plusieurs choses:
- vérifie ton objet dans une appli "simple" (raydium_modler / willou)
- vérifie les normales, dans Blender avant l'export
- vérifie la "console" de Blender après l'export pour voir si ton export est correct (souvent, les gens oublient de "trianguler" leurs objets [CTRL+T])


Top
 Profile  
 
 Post subject:
PostPosted: Sat Oct 29, 2005 4:21 pm 
Offline

Joined: Sat Oct 29, 2005 12:43 pm
Posts: 65
Merci d'avoir répondu si rapidement :)

Pour le pas PS1, en gros :
analogique 1:
gauche droite = axe X
haut bas = axe Y
analogique 2:
gauche droite = axe Z
haut bas = axe Z
En fait, il manque un 4eme axe...

Pour les objets avec blender, j'avoue que je n'y connais rien...
pourrais tu me donner une marche à suivre ?
je pense pouvoir me débrouiller avec des tutoriaux pour faire un objet, mais après je ne sais pas trop quoi faire...
Comment on verifie les normales?
Ça sert à quoi de trianguler? c'est pas des triangles à la base? ^^

l'objet que j'ai fais parait pas mal dans mon test, mais on dirait qu'il n'est pas par defaut aux coordonnées 0,0,0... un bout de la voiture tape dedans et ensuite elle tombe dans le vide... Je n'ai pas trouvé comment déplacer le ode_background :?

Edit: je viens de tester mon objet dans willou.c et en effet il manque la moité des faces, et il parait mal positionné par defaut et mal orienté.. pourtant dans blender il était bien ^^


Top
 Profile  
 
 Post subject:
PostPosted: Sat Oct 29, 2005 6:11 pm 
Offline

Joined: Sat Oct 29, 2005 12:43 pm
Posts: 65
Je ne comprend pas... je prend le cube par defaut. Je passe en Edition (tab). Je selectionne tout (A). puis triangule (ctrl+T), ensuite les normales (ctrl+N).
Je verifie que les normales sont bien à l'exterieur en les affichant...
Puis je sauve en exportant en .tri.

ensuite je l'affiche avec willou.c et là il manque 1 face sur 2... :cry:

J'oublie quelque chose? :oops:


Top
 Profile  
 
 Post subject:
PostPosted: Sun Oct 30, 2005 12:21 am 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Et dans la console (le terminal) "derrière" Blender, y'a un truc lors de l'export ?
edit : et on le déplace par le "ode_ground" dans Raydium, mais dans Blender puisque c'est le sol :)


Top
 Profile  
 
 Post subject:
PostPosted: Sun Oct 30, 2005 8:57 am 
Offline

Joined: Sat Oct 29, 2005 12:43 pm
Posts: 65
Je ne lançais pas Blender à partir du terminal, donc je ne voyais pas trop où trouver la console :oops:
donc j'obtient :
Code:
ok, it's a mesh
ERROR: NOT A TRIANGLE ONLY MESH ! (select all vertices and use CTRL+T)
ERROR: NOT A TRIANGLE ONLY MESH ! (select all vertices and use CTRL+T)
ERROR: NOT A TRIANGLE ONLY MESH ! (select all vertices and use CTRL+T)
ERROR: NOT A TRIANGLE ONLY MESH ! (select all vertices and use CTRL+T)
ERROR: NOT A TRIANGLE ONLY MESH ! (select all vertices and use CTRL+T)
ERROR: NOT A TRIANGLE ONLY MESH ! (select all vertices and use CTRL+T)
Exported to /home/totoro/raydium-2005-09-21/sol.tri. Textures must be .tga, uncompressed, origin NOT at lower-left.

Pourtant je fais bien CTRL+T (je vois bien le cube découpé en triangle de tous les côtés)...
et l'origin NOT at lower-left, c'est normal ? (je laisse le cube à sa place par défaut)


Top
 Profile  
 
 Post subject:
PostPosted: Sun Oct 30, 2005 9:14 am 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
La démarche est :
- Passer (ou être déjà) dans le mode "vertices" (contrairement au mode "objet", ou les trucs sont entourés en rose)
- CTRL+T
- Repasser au moins une fois en mode objet pour "valider" les modifications apportées au mode "vertices".

Je ne sais pas si je suis clair ... si c'est pas le cas, je vais tenter de faire une vidéo.


Top
 Profile  
 
 Post subject:
PostPosted: Sun Oct 30, 2005 9:43 am 
Offline

Joined: Sat Oct 29, 2005 12:43 pm
Posts: 65
Ça marche :D

Je ne repassais pas en mode objet pour valider (pas surper intuitif Blender ^^)
Reste plus qu'un petit problème, je modifie le cube en X et Y pour l'agrandir, et je le diminue en Z... donc je me retrouve avec une surface plane horizontale.
Mais une fois dans raydium, la surface est verticale.. c'est normal?


Top
 Profile  
 
 Post subject:
PostPosted: Sun Oct 30, 2005 9:49 am 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Pour Raydium, la hauteur est z :) Rotate ton objet dans Blender (en mode "vertices" [effectivement, c'est pas méga intuitif Blender ... mais une fois habitué, ça poutre]).


Top
 Profile  
 
 Post subject:
PostPosted: Sun Oct 30, 2005 10:36 am 
Offline

Joined: Sat Oct 29, 2005 12:43 pm
Posts: 65
Euh, tu as bien voulu dire Z pour la hauteur? (car dans blender c'est aussi Z, non?)
Bon j'ai un peu de mal avec les unités et les directions.

Je vais essayer de voir tout ça avec un exemple sans physique, parceque là la clio vole dans tous les sens (avec ou sans roues :shock: )
:mrgreen:

Mais bon mon objet est en entier, c'est le principal...
Merci pour tes explications. :D


Top
 Profile  
 
 Post subject:
PostPosted: Sun Oct 30, 2005 11:26 am 
Offline

Joined: Sat Oct 29, 2005 12:43 pm
Posts: 65
Toutes mes excuses, je ne devais pas être réveillé ce matin :)
c'est le même axe dans Raydium et blender...

La clio roule enfin sur mon cube :D

Lorsque je compile j'ai plein de warning :
Code:
raydium/texture.c:49: attention : pointer targets in passing argument 1 of ‘strcmp’ differ in signedness
raydium/texture.c:56: attention : pointer targets in passing argument 1 of ‘strcpy’ differ in signedness
raydium/texture.c:58: attention : pointer targets in passing argument 2 of ‘strcmp’ differ in signedness
...

Il y a moyen de les enlever?


Top
 Profile  
 
 Post subject:
PostPosted: Sun Oct 30, 2005 12:20 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
merci, il y'a effectivement un problème, je corrige ça.

edit : voilà, je pense que c'est ok, j'ai peu de temps pour vérifier :)


Top
 Profile  
 
 Post subject:
PostPosted: Sun Oct 30, 2005 1:15 pm 
Offline

Joined: Sat Oct 29, 2005 12:43 pm
Posts: 65
houla, j'espere que je ne t'ais pas fait faire de bêtise...
les 3 lignes de warning que j'ai mis plus haut, c'était juste pour l'exemple... il y en a une bonne vaingtaine en vrai....
J'utilise la version de Raydium fournie en .tgz, pas SVN...

Ceci dit, j'ai remplacé le common.h, par celui du SVN, ça m'a juste supprimé le 1er warning (49)...

Est-ce qu'il y a un moyen de mettre à jour ma version à partir de SVN, en une seule fois, et non, fichier par fichier?


Top
 Profile  
 
 Post subject:
PostPosted: Sun Oct 30, 2005 1:52 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Tu fait un update sur le répertoire, tout simplement (après avoir installé subversion sur ta machine). Tu as moyen de me donner la liste complète des erreurs ici ?


Top
 Profile  
 
 Post subject:
PostPosted: Sun Oct 30, 2005 6:27 pm 
Offline

Joined: Sat Oct 29, 2005 12:43 pm
Posts: 65
Code:
In file included from raydium/index.c:48,
                 from wature.c:1:
raydium/texture.c: In function ‘raydium_texture_load_internal’:
raydium/texture.c:56: attention : pointer targets in passing argument 1 of ‘strc py’ differ in signedness
raydium/texture.c:58: attention : pointer targets in passing argument 2 of ‘strc mp’ differ in signedness
raydium/texture.c:207: attention : pointer targets in passing argument 2 of ‘str cmp’ differ in signedness
In file included from raydium/index.c:51,
                 from wature.c:1:
raydium/sound.c: In function ‘raydium_sound_music_callback’:
raydium/sound.c:629: attention : pointer targets in passing argument 3 of ‘alGet Sourcei’ differ in signedness
In file included from raydium/index.c:55,
                 from wature.c:1:
raydium/osd.c: In function ‘raydium_osd_printf’:
raydium/osd.c:127: attention : pointer targets in passing argument 1 of ‘vsprint f’ differ in signedness
raydium/osd.c:127: attention : pointer targets in passing argument 2 of ‘vsprint f’ differ in signedness
raydium/osd.c: In function ‘raydium_osd_printf_3D’:
raydium/osd.c:185: attention : pointer targets in passing argument 1 of ‘vsprint f’ differ in signedness
raydium/osd.c:185: attention : pointer targets in passing argument 2 of ‘vsprint f’ differ in signedness
In file included from raydium/index.c:61,
                 from wature.c:1:
raydium/console.c: In function ‘raydium_console_line_add’:
raydium/console.c:235: attention : pointer targets in passing argument 1 of ‘vsp rintf’ differ in signedness
raydium/console.c:242: attention : pointer targets in passing argument 2 of ‘str cpy’ differ in signedness
raydium/console.c: In function ‘raydium_console_draw’:
raydium/console.c:295: attention : pointer targets in passing argument 6 of ‘ray dium_osd_printf’ differ in signedness
raydium/console.c:302: attention : pointer targets in passing argument 6 of ‘ray dium_osd_printf’ differ in signedness
raydium/console.c:309: attention : pointer targets in passing argument 6 of ‘ray dium_osd_printf’ differ in signedness
In file included from raydium/index.c:62,
                 from wature.c:1:
raydium/gui.c: In function ‘raydium_gui_button_draw’:
raydium/gui.c:348: attention : pointer targets in passing argument 6 of ‘raydium _osd_printf’ differ in signedness
raydium/gui.c: In function ‘raydium_gui_label_draw’:
raydium/gui.c:528: attention : pointer targets in passing argument 6 of ‘raydium _osd_printf’ differ in signedness
raydium/gui.c: In function ‘raydium_gui_edit_draw’:
raydium/gui.c:629: attention : pointer targets in passing argument 6 of ‘raydium _osd_printf’ differ in signedness
raydium/gui.c:634: attention : pointer targets in passing argument 6 of ‘raydium _osd_printf’ differ in signedness
raydium/gui.c: In function ‘raydium_gui_check_draw’:
raydium/gui.c:751: attention : pointer targets in passing argument 6 of ‘raydium _osd_printf’ differ in signedness
raydium/gui.c: In function ‘raydium_gui_combo_draw’:
raydium/gui.c:901: attention : pointer targets in passing argument 6 of ‘raydium _osd_printf’ differ in signedness
raydium/gui.c:1059: attention : pointer targets in passing argument 6 of ‘raydiu m_osd_printf’ differ in signedness
In file included from raydium/index.c:69,
                 from wature.c:1:
raydium/network.c: In function ‘raydium_network_client_connect_to’:
raydium/network.c:832: attention : pointer targets in passing argument 2 of ‘ray dium_network_read’ differ in signedness
raydium/network.c: In function ‘raydium_network_internet_test’:
raydium/network.c:958: attention : unused variable ‘svlen’
raydium/network.c:957: attention : unused variable ‘sv’
In file included from raydium/index.c:70,
                 from wature.c:1:
raydium/init.c: In function ‘raydium_init_engine’:
raydium/init.c:216: attention : pointer targets in passing argument 2 of ‘glGetI ntegerv’ differ in signedness
raydium/init.c:218: attention : pointer targets in passing argument 2 of ‘glGetI ntegerv’ differ in signedness
In file included from raydium/index.c:72,
                 from wature.c:1:
raydium/ode.c: In function ‘raydium_ode_draw_all’:
raydium/ode.c:3016: attention : pointer targets in passing argument 7 of ‘raydiu m_osd_printf_3D’ differ in signedness
raydium/ode.c:3185: attention : pointer targets in passing argument 7 of ‘raydiu m_osd_printf_3D’ differ in signedness
In file included from raydium/ode.c:3766,
                 from raydium/index.c:72,
                 from wature.c:1:
raydium/ode_net.c: In function ‘raydium_ode_network_read’:
raydium/ode_net.c:434: attention : pointer targets in passing argument 2 of ‘ray dium_network_read_flushed’ differ in signedness
Raydium: Using Raydium 0.680
Raydium: command line args: OK


J'ai installé subvertion, plus qu'a fouillé pour voir comment ça marche ^^

petite question subsidiaire : Par defaut Blender s'affiche en plein écran, y a t il une solution pour qu'il ne recouvre pas la barre des tâches? j'ai jeté un oeil à la doc, mais ils n'en parlent pas...


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 21 posts ]  Go to page 1, 2  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 131 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:  
Powered by phpBB® Forum Software © phpBB Group