#0 

17-08-2007 14:53:17

gp2mv3
Abonné
Date d'inscription: 27-06-2007
Messages: 103
Site web

Salut,
je suis sur un projet de MMORPG et je voudrais faire un brouillard pour que les joueurs ne voient pas les parties pas encore dessinées par irrlicht.
Je ne sais pas trop comment faire.
Pouvez vous m'aider?

Merci d'avance.

Gp2mv3


Mon projet sous Irrlicht : RoM : Rebuilding on Mars
N'hésitez pas à y faire un tour wink

Hors ligne


#1 

17-08-2007 21:40:00

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
Site web

Hum j'ai pas bien compris ta question, tu veux dire un brouillard de guerre comme dans les jeux de stratégie ?


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#2 

17-08-2007 23:41:02

gp2mv3
Abonné
Date d'inscription: 27-06-2007
Messages: 103
Site web

Salut,
Non un brouillard comme si on était dans un nuage.
Je sais pas si tu connais Battlefield 2142, mais la dedans il y a un brouillard comme je voudrais faire.

Bien amicalement.

Gp2mv3


Mon projet sous Irrlicht : RoM : Rebuilding on Mars
N'hésitez pas à y faire un tour wink

Hors ligne


#3 

18-08-2007 09:14:27

izguit
Administrateur
Lieu: 127.0.0.1
Date d'inscription: 14-09-2006
Messages: 306
Site web

Je pense que tu l'as déjà vu, mais à tout hasard je le met on sais jamais :
dans la classe driver :

Code:

virtual void irr::video::IVideoDriver::setFog  (  SColor  color = SColor(0, 255, 255, 255),  
  bool  linearFog = true,  
  f32  start = 50.0f,  
  f32  end = 100.0f,  
  f32  density = 0.01f,  
  bool  pixelFog = false,  
  bool  rangeFog = false 
 )  [pure virtual]

C'est ce qu'ils utilisent dans les exemples (si je me souviens bien)
Ca vaut ce que ça vaut...

J'ai pas de lien là-dessus, regarde sur gamedev.net/gamasutra si il y a pas un/des articles là-dessus (je pense que oui) si tu veux un truc plus clean.

plouf


Athlon 64 3000+ // 1Go RAM // Geforce 6600GT 128Mo
Turion 64 X2 // 1Go RAM // ATI X1250

Hors ligne


#4 

18-08-2007 11:06:48

gp2mv3
Abonné
Date d'inscription: 27-06-2007
Messages: 103
Site web

Salut,
Oui j'avais effectivement déja vu cette fonction mais elle ne convient vraiment pas.
Merci quand même.

Tu as raison, il y a un article ici http://www.gamasutra.com/features/20011003/boyd_01.htm mais il faut etre inscrit, je ne me voit pas m'inscrir juste pour sa alors je vais voir les autres articles de gamedev.
Bien amicalement.

Gp2mv3

Dernière modification par gp2mv3 (18-08-2007 11:15:45)


Mon projet sous Irrlicht : RoM : Rebuilding on Mars
N'hésitez pas à y faire un tour wink

Hors ligne


#5 

21-08-2007 10:59:24

katsankat
Membre
Date d'inscription: 24-02-2007
Messages: 43

Si c'est ce genre de brouillard

C'est driver->setFog() qu'il te faut, tu mets start à 0 et end à 3000. Comme couleur prends celle qui se rapproche le plus de ton sky (sur le screen ça ressemble à du gris 150,150,150.
Les 2 derniers arguments (pixelFog et rangeFog) permettent de bien le faire varier.

Hors ligne


#6 

22-08-2007 10:42:35

gp2mv3
Abonné
Date d'inscription: 27-06-2007
Messages: 103
Site web

Je vais essayer mais sa veut dire que je dois activer le brouillard sur tous les objets?

Merci d'avance.

Gp2mv3


Mon projet sous Irrlicht : RoM : Rebuilding on Mars
N'hésitez pas à y faire un tour wink

Hors ligne


#7 

22-08-2007 12:31:20

izguit
Administrateur
Lieu: 127.0.0.1
Date d'inscription: 14-09-2006
Messages: 306
Site web

nan, la méthode setFog appartient au driver. Tu l'appelles qu'une fois et elle sera active sur tout le sceneManager


Athlon 64 3000+ // 1Go RAM // Geforce 6600GT 128Mo
Turion 64 X2 // 1Go RAM // ATI X1250

Hors ligne


#8 

22-08-2007 14:51:19

Aranoth
Abonné
Lieu: Toulouse
Date d'inscription: 25-09-2006
Messages: 242
Site web

Pas tout à fait izguit, gp2mv3 a raison.

Tu dois spécifier pour chaque objet qui doit en subir l'influence :

Code:

node->setMaterialFlag( EMF_FOG_ENABLE , true);

Hors ligne


#9 

22-08-2007 15:32:36

izguit
Administrateur
Lieu: 127.0.0.1
Date d'inscription: 14-09-2006
Messages: 306
Site web

au temps pour moi smile


Athlon 64 3000+ // 1Go RAM // Geforce 6600GT 128Mo
Turion 64 X2 // 1Go RAM // ATI X1250

Hors ligne


#10 

22-08-2007 17:57:36

gp2mv3
Abonné
Date d'inscription: 27-06-2007
Messages: 103
Site web

Ok merci de la réponse je vais essayer sa et je te donnerais des nouvelles.

Bien amicalement.

Gp2mv3

Dernière modification par gp2mv3 (22-08-2007 21:16:16)


Mon projet sous Irrlicht : RoM : Rebuilding on Mars
N'hésitez pas à y faire un tour wink

Hors ligne


#11 

22-08-2007 21:16:40

gp2mv3
Abonné
Date d'inscription: 27-06-2007
Messages: 103
Site web

Cette fonction est très pratique mais le problème c'est que sa ne change en rien la skybox.
Je suis en train d'essayer de créer une skybox plus adaptée.
Connaissez vous une solution ?

Bien amicalement.

Gp2mv3


Mon projet sous Irrlicht : RoM : Rebuilding on Mars
N'hésitez pas à y faire un tour wink

Hors ligne


#12 

23-08-2007 06:38:56

katsankat
Membre
Date d'inscription: 24-02-2007
Messages: 43

tuto terragen pour créer des skyboxes rapidement

Une alternative qui peut intéresser: le skydome. Prendre une texture ici
Puis au lieu du classique smgr->addSkyBoxSceneNode() faire un

Code:

 scene::ISceneNode* sky =
    smgr->addSkyDomeSceneNode( driver->getTexture("MorningSky_1.jpg"),
                      30, 8, 0.96f, 1.2f, NULL, -1);

Voir la doc pour les params.
Encore mieux: on peut animer le skydome. Dans la boucle, mettre

Code:

        core::vector3df rot = sky->getRotation();
        rot.Y += 0.001f;
        sky->setRotation(rot);

Dernière modification par katsankat (23-08-2007 06:39:32)

Hors ligne


#13 

23-08-2007 11:58:29

gp2mv3
Abonné
Date d'inscription: 27-06-2007
Messages: 103
Site web

Et tu saurais pas ou trouver des textures de skydome libres?

Merci d'avance.

Gp2mv3


Mon projet sous Irrlicht : RoM : Rebuilding on Mars
N'hésitez pas à y faire un tour wink

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
883 membres
1429 sujets
11121 messages
Dernier membre inscrit: Saidov17
119 invités en ligne
Aucun membre connecté
RSS Feed