17-08-2007 12:53:17
- gp2mv3
- Membres
- Date d'inscription:
- Messages: 103
- IP: 81.243.158.117
- Courriel 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
Hors ligne
17-08-2007 19:40:00
- Copland
- Modérateurs
- Date d'inscription:
- Messages: 657
- IP: 90.16.11.229
- Courriel 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
17-08-2007 21:41:02
- gp2mv3
- Membres
- Date d'inscription:
- Messages: 103
- IP: 81.243.158.117
- Courriel 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
Hors ligne
18-08-2007 07:14:27
- izguit
- Administrateurs

- Date d'inscription:
- Messages: 306
- IP: 83.152.37.42
- Courriel Site web
Je pense que tu l'as déjà vu, mais à tout hasard je le met on sais jamais :
dans la classe driver :
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
18-08-2007 09:06:48
- gp2mv3
- Membres
- Date d'inscription:
- Messages: 103
- IP: 81.243.155.124
- Courriel 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
Hors ligne
21-08-2007 08:59:24
- katsankat
- Membres
- Date d'inscription:
- Messages: 43
- IP: 86.200.110.3
- Courriel
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
22-08-2007 08:42:35
- gp2mv3
- Membres
- Date d'inscription:
- Messages: 103
- IP: 81.245.128.250
- Courriel Site web
Je vais essayer mais sa veut dire que je dois activer le brouillard sur tous les objets?
Merci d'avance.
Gp2mv3
Hors ligne
22-08-2007 10:31:20
- izguit
- Administrateurs

- Date d'inscription:
- Messages: 306
- IP: 83.153.12.95
- Courriel 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
22-08-2007 12:51:19
- Aranoth
- Membres

- Date d'inscription:
- Messages: 242
- IP: 86.221.125.243
- Courriel Site web
Pas tout à fait izguit, gp2mv3 a raison.
Tu dois spécifier pour chaque objet qui doit en subir l'influence :
node->setMaterialFlag( EMF_FOG_ENABLE , true);Hors ligne
22-08-2007 13:32:36
- izguit
- Administrateurs

- Date d'inscription:
- Messages: 306
- IP: 83.153.12.95
- Courriel Site web
au temps pour moi ![]()
Athlon 64 3000+ // 1Go RAM // Geforce 6600GT 128Mo
Turion 64 X2 // 1Go RAM // ATI X1250
Hors ligne
22-08-2007 15:57:36
- gp2mv3
- Membres
- Date d'inscription:
- Messages: 103
- IP: 81.247.6.239
- Courriel Site web
Ok merci de la réponse je vais essayer sa et je te donnerais des nouvelles.
Bien amicalement.
Gp2mv3
Hors ligne
22-08-2007 19:16:40
- gp2mv3
- Membres
- Date d'inscription:
- Messages: 103
- IP: 81.247.6.239
- Courriel 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
Hors ligne
23-08-2007 04:38:56
- katsankat
- Membres
- Date d'inscription:
- Messages: 43
- IP: 82.122.192.209
- Courriel
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
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
core::vector3df rot = sky->getRotation();
rot.Y += 0.001f;
sky->setRotation(rot);Hors ligne
23-08-2007 09:58:29
- gp2mv3
- Membres
- Date d'inscription:
- Messages: 103
- IP: 81.243.150.213
- Courriel Site web
Et tu saurais pas ou trouver des textures de skydome libres?
Merci d'avance.
Gp2mv3
Hors ligne



