Raydium 3D Game Engine

Official forum for everything about Raydium, ManiaDrive, MeMak, ...
It is currently Thu Mar 28, 2024 4:16 pm

All times are UTC




Post new topic Reply to topic  [ 9 posts ] 
Author Message
PostPosted: Wed Mar 04, 2009 8:57 pm 
Offline

Joined: Tue Jul 22, 2008 1:52 pm
Posts: 82
voila je me demande juste si s'est possible d'afficher une modélisation 3d qui na pas de physique si je suit obliger de le faire en open gl
(le but serait de faire des cube qui tourne du comme pour prendre des arme dans mario kart)


Top
 Profile  
 
PostPosted: Fri Mar 06, 2009 8:00 pm 
Offline

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

C'est possible, to charge l'object comme static et (RAYDIUM_ODE_STATIC).

Pour le faire tourner, soit tu le crée a chaque image en appliquant la bonne rotation et tu le detruit apres le rendu.

Soit tu le fait tourner avec les primitives de rotation.

Ce ne "devrait" pas poser de problèmes.

Bonne journée
Ouille.


Top
 Profile  
 
PostPosted: Tue Mar 10, 2009 4:34 pm 
Offline

Joined: Tue Jul 22, 2008 1:52 pm
Posts: 82
désolé pour les réponse un peut lente mais j'ai pas beaucoup de temps en ce moment

je vient de tester mais comme je pensais l'objet ne bouge pas mais la voiture rentre dedans.
mois je veut juste la modélisation graphique la voiture doit pouvoir passer à travers

j'ai tester avec
Code:
int arme;
arme = raydium_object_load("cube.tri");
raydium_object_translate(arme,20.0000,-0.2000,-2.3000);


et dans la fonction Affiche();
Code:
raydium_object_draw(arme);


mais sa ne marche pas
il faut mètre "raydium_object_draw(arme);" a un endroit précis? ou j'ai pas bien comprit le fonctionnement?


Top
 Profile  
 
PostPosted: Tue Mar 10, 2009 7:44 pm 
Offline

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

Je ne comprends pas non plus ...

Quote:
je vient de tester mais comme je pensais l'objet ne bouge pas mais la voiture rentre dedans.
mois je veut juste la modélisation graphique la voiture doit pouvoir passer à travers


La voiture doit passer dedans ou pas ... ?????

Le probleme de passer dedans est à traiter dans le collide callback et renvoyer 0 si la collision ne doit avoir lieu.

Poste peut etre le code, ou une version simplifée à l'extreme avec le probleme.

Bonne journée
Ouille?.


Top
 Profile  
 
PostPosted: Tue Mar 10, 2009 11:24 pm 
Offline

Joined: Tue Jul 22, 2008 1:52 pm
Posts: 82
a ouai ma phrase peut porter a confusion

je ne veut pas de collision je veut juste qu'on voit le cube

le but est de faire un peut comme dans mario kart quand on passe dans le cube sa nous donne un bonus


Last edited by sifourquier on Fri Mar 13, 2009 11:02 pm, edited 1 time in total.

Top
 Profile  
 
PostPosted: Wed Mar 11, 2009 4:28 pm 
Offline

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

Petit problème avec l'image :(

Sauf erreur de ma part, il faut creer l'objet en statique, lui affecter un tag spécifique (que tu determine).

Puis filtrer la collision dans le collide callback.

Voici ce que ca donner avec un voiture qui va passer au travers de la première boite et "taper" dans la deuxième.

Code:
/*
    Raydium - CQFD Corp.
    http://raydium.org/
    Released under both BSD license and Lesser GPL library license.
    See "license.txt" file.
*/

#include "raydium/index.c"

#define NO_COLLIDE 1
#define COLLIDE 0

int sound_boom;

char collide(int e1, int e2, dContact *n)
{
    if(raydium_ode_element_tag_get(e1)==NO_COLLIDE || raydium_ode_element_tag_get(e2)==NO_COLLIDE){
        if (!raydium_sound_IsPlaying(sound_boom)) raydium_sound_SourcePlay(sound_boom);
        return 0;
    }
return 1;
}

void create_car(void){
// A recuperer de explo.c par exemple.
}

void display(void){
float speed,direct;

raydium_joy_key_emul();

direct=raydium_joy_x*0.3;
speed=raydium_joy_y*55;


raydium_ode_motor_speed_name("moteur",-speed);
raydium_ode_motor_angle_name("direction",direct);

if(raydium_key_last==1027) exit(0);

raydium_clear_frame();

raydium_ode_element_camera_inboard_name("corps",-1,0.3,0.5,2,0,0);
raydium_ode_draw_all(0);

raydium_rendering_finish();
}


int main(int argc, char **argv)
{
// Debut de explo.c par exemple
...

sound_boom=raydium_sound_LoadWav("explosion1.wav");
raydium_sound_SetSourceLoop(sound_boom,0);

raydium_ode_ground_set_name("cocorobix.tri");
create_car();

raydium_ode_object_box_add("Box",raydium_ode_object_find("GLOBAL"),1,RAYDIUM_ODE_AUTODETECT,0,0,RAYDIUM_ODE_STATIC,NO_COLLIDE,"crate.tri");
raydium_ode_element_move_name_3f("Box",1,1,-0.9);
raydium_sound_SetSourcePos(sound_boom,(dReal[]) {1,1,-0.9});

raydium_ode_object_box_add("NBox",raydium_ode_object_find("GLOBAL"),1,RAYDIUM_ODE_AUTODETECT,0,0,RAYDIUM_ODE_STATIC,COLLIDE,"crate.tri");
raydium_ode_element_move_name_3f("NBox",3,1,-0.9);

raydium_ode_CollideCallback=collide;

raydium_callback(&display);

return 0;
}


J'espère que cela t'aidera.

Bonne journée
Ouille.


Top
 Profile  
 
PostPosted: Wed Mar 11, 2009 5:27 pm 
Offline

Joined: Tue Jul 22, 2008 1:52 pm
Posts: 82
merci mais sa me semble étrange qu'on arrive pas juste a afficher le model je vais fouiller un peut

sinon passerai directement pas l'opengl je l'ai déjà fait pour d'autre chose s'est juste l'éclairage (les normal) qui est un peut complexe à gérer


Top
 Profile  
 
PostPosted: Wed Mar 11, 2009 5:31 pm 
Offline

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

A toi de voir, l'example ne me semble pas trop compliqué.

Attention en opengl "pur" tu n'aura plus les infos de collisions pour savoir si ton objet est touché ou non.

Bonne journée
Ouille.


Top
 Profile  
 
PostPosted: Fri Mar 13, 2009 11:01 pm 
Offline

Joined: Tue Jul 22, 2008 1:52 pm
Posts: 82
j'ai trouver

il suffit de faire
Code:
arme = raydium_object_find_load("ball.tri");
   
raydium_object_translate(arme,20.0000,-0.2000,-2.3000);

au chargement de la map

et juste après draw();
Code:
raydium_object_draw(arme);


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 9 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 25 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