23-11-2012 18:33:10
- Logeur
- Membres

- Date d'inscription:
- Messages: 61
- IP: 5.48.75.208
- Courriel
Bonjour à tous,
Je souhaiterai que ma caméra soit attiré au sol ![]()
Alors voilà est ce possible de gérer çà sans Newton ou autre moteur physique ?
J'aimerai que ma caméra soit coller au sol donc impossible de voler. Et dans un même temps la possibilité de sauter.
Est ce que Irrlicht sait faire çà ?
Merci de votre aide
Hors ligne
24-11-2012 00:29:43
- Magun
- Administrateurs

- Date d'inscription:
- Messages: 910
- IP: 83.203.57.175
- Courriel Site web
ouaip, regarde la demo technique
tu crée un meta selector:
Code c++ :
irr::scene::IMetaTriangleSelector *metaSelector = sm->createMetaTriangleSelector();
tu crée un triangle selector par nodes qui seront solide que tu rajoute au metaselector:
Code c++ :
irr::scene::ITriangleSelector *mapSelector = sm->createOctreeTriangleSelector(le_pointeur_du_mesh_du_node, le_pointeur_du_node, 128);
metaSelector->addTriangleSelector(mapSelector);
tu crée un animator:
Code c++ :
irr::scene::ISceneNodeAnimatorCollisionResponse* collider = smgr->createCollisionResponseAnimator(metaSelector, camera, irr::core::vector3df(25,50,25), irr::core::vector3df(0, quakeLevelMesh ? -10.f : 0.0f,0) irr::,core::vector3df(0,45,0), 0.005f);
que tu rajoute a ta camera:
Code c++ :
camera->addAnimator(collider);
collider->drop();
plus de détaille dans les sources de la demo contenue dans les exemples irrlicht
s'il y a besoin d’approfondissement ... ?
Hors ligne
24-11-2012 12:10:35
- Logeur
- Membres

- Date d'inscription:
- Messages: 61
- IP: 5.48.75.208
- Courriel
Bon j'ai essayé ton code,
Ma caméra est collé au sol c'est bon mais si je vise vers le haut, je monte et je décolle du sol.
Comment faire pour éviter çà, impossibilité de se décoller du sol.
PS. Les collisions marchent ![]()
Hors ligne
24-11-2012 12:34:20
- johnplayer
- Membres

- Date d'inscription:
- Messages: 431
- IP: 83.192.80.19
- Courriel
Extrait de la doc:
Code c++ :
virtual ISceneNodeAnimatorCollisionResponse* irr::scene::ISceneManager::createCollisionResponseAnimator ( ITriangleSelector * world,
ISceneNode * sceneNode,
const core::vector3df & ellipsoidRadius = core::vector3df(30, 60, 30),
const core::vector3df & gravityPerSecond = core::vector3df(0,-10.0f, 0),
const core::vector3df & ellipsoidTranslation = core::vector3df(0, 0, 0),
f32 slidingValue = 0.0005f
) [pure virtual]
Donc tu as un paramètre "gravityPerSecond" au lieu de -10, tu mets -100 et tu augmentes jusqu'à ce que tu obtiennes le résultat. Normalement, si ta camera avance de n/seconde ta gravité doit être de -n. Tu as juste à regarder la vitesse d'avance de ta camera (je suppose cameraFPS).
Extrait de la doc :
Code c++ :
virtual ICameraSceneNode* irr::scene::ISceneManager::addCameraSceneNodeFPS ( ISceneNode * parent = 0,
f32 rotateSpeed = 100.0f,
f32 moveSpeed = 0.5f,
s32 id = -1,
SKeyMap * keyMapArray = 0,
s32 keyMapSize = 0,
bool noVerticalMovement = false,
f32 jumpSpeed = 0.f,
bool invertMouse = false,
bool makeActive = true
) [pure virtual]
moveSpeed: Speed in units per millisecond with which the camera is moved. Movement is done with the cursor keys.
Le parametre de déplacement est "moveSpeed" donc "gravitypersecond" = vector3df(0,-moveSpeed*1000,0).
Détails du calcul:
movespeed = 0.5f / milliseconde
gravityPerSecond = x / seconde = -movespeed / millisecondes = -movespeed*1000 / secondes
core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."
Hors ligne
24-11-2012 13:01:21
- Logeur
- Membres

- Date d'inscription:
- Messages: 61
- IP: 5.48.75.208
- Courriel
Merci beaucoup.
Je suis désolé mais mon niveau d'Anglais est tellement faible alors c'est vraiment sympa la traduction ![]()
Hors ligne
24-11-2012 15:19:25
- Logeur
- Membres

- Date d'inscription:
- Messages: 61
- IP: 5.48.75.208
- Courriel
Voici mon code:
#include <irrlicht.h>
using namespace irr;
#ifdef _MSC_VER
#pragma comment(lib, "Irrlicht.lib")
#endif
class MyEventReceiver : public IEventReceiver
{
public:
MyEventReceiver(scene::ISceneNode* terrain) : Terrain(terrain)
{
}
bool OnEvent(const SEvent& event)
{
return false;
}
private:
scene::ISceneNode* Terrain;
};
int main()
{
irr::IrrlichtDevice* device = irr::createDevice(irr::video::EDT_OPENGL, irr::core::dimension2d<irr::u32>(1000,800),32);
video::IVideoDriver* driver = device->getVideoDriver();
scene::ISceneManager* scene = device->getSceneManager();
gui::IGUIEnvironment* env = device->getGUIEnvironment();
device->setWindowCaption(L"Fast Jump [INDEV]");
device->getCursorControl()->setVisible(false);
irr::SKeyMap keyMap[4];
keyMap[0].Action = irr::EKA_MOVE_FORWARD;
keyMap[0].KeyCode = irr::KEY_KEY_Z;
keyMap[1].Action = irr::EKA_MOVE_BACKWARD;
keyMap[1].KeyCode = irr::KEY_KEY_S;
keyMap[2].Action = irr::EKA_STRAFE_LEFT;
keyMap[2].KeyCode = irr::KEY_KEY_Q;
keyMap[3].Action = irr::EKA_STRAFE_RIGHT;
keyMap[3].KeyCode = irr::KEY_KEY_D;
scene::ICameraSceneNode* camera = scene->addCameraSceneNodeFPS(0,100.0f,2.5f, -1, keyMap, 4);
camera->setPosition(core::vector3df(2700*2,255*2,2600*2));
camera->setTarget(core::vector3df(2397*2,343*2,2700*2));
camera->setFarValue(42000.0f);
scene::ITerrainSceneNode* terrain = scene->addTerrainSceneNode("heightmap.png", 0, -1,
core::vector3df(0.f, 0.f, 0.f),
core::vector3df(0.f, 0.f, 0.f),
core::vector3df(60.f, 10.f, 60.f),
video::SColor ( 255, 255, 255, 255 ), 5, scene::ETPS_17, 4);
terrain->setMaterialFlag(video::EMF_LIGHTING, false);
terrain->setMaterialTexture(0, driver->getTexture("terrain-texture.jpg"));
terrain->setMaterialTexture(1, driver->getTexture("detailmap3.jpg"));
terrain->setMaterialType(video::EMT_DETAIL_MAP);
terrain->scaleTexture(1.0f, 20.0f);
// create triangle selector for the terrain
scene::ITriangleSelector* selector = scene->createTerrainTriangleSelector(terrain, 0);
terrain->setTriangleSelector(selector);
// create collision response animator and attach it to the camera
scene::ISceneNodeAnimator* anim = scene->createCollisionResponseAnimator(
selector, camera, core::vector3df(60,100,60),
core::vector3df(0,0,0),
core::vector3df(0,50,0));
selector->drop();
camera->addAnimator(anim);
anim->drop();
MyEventReceiver receiver(terrain);
device->setEventReceiver(&receiver);
scene->setAmbientLight(irr::video::SColorf(1.0, 1.0, 1.0,0.0));
while(device->run())
if (device->isWindowActive())
{
driver->beginScene(true, true, 0 );
scene->drawAll();
env->drawAll();
driver->endScene();
}
device->drop();
return 0;
}Quand je vise avec ma souris vers le haut, je continue à décoller du sol ;(
Hors ligne
24-11-2012 16:17:18
- Magun
- Administrateurs

- Date d'inscription:
- Messages: 910
- IP: 83.203.57.175
- Courriel Site web
et avec le paramaetre noVerticalMovement a true quand tu crée ta camera ?
Hors ligne
24-11-2012 16:41:49
- Logeur
- Membres

- Date d'inscription:
- Messages: 61
- IP: 5.48.75.208
- Courriel
Que veux tu dire par là ?
Hors ligne
24-11-2012 17:25:38
- Magun
- Administrateurs

- Date d'inscription:
- Messages: 910
- IP: 83.203.57.175
- Courriel Site web
Code c++ :
virtual ICameraSceneNode* irr::scene::ISceneManager::addCameraSceneNodeFPS ( ISceneNode * parent = 0,
f32 rotateSpeed = 100.0f,
f32 moveSpeed = 0.5f,
s32 id = -1,
SKeyMap * keyMapArray = 0,
s32 keyMapSize = 0,
=> bool noVerticalMovement = false,
f32 jumpSpeed = 0.f,
bool invertMouse = false,
bool makeActive = true
)
je ne sais pas a quoi correspond exactement la paramêtre, mais il me semble suffisament explicite
peut-être qu'il permet de d'ignorer le vectieur verticale et donc d'empecher la camera de "monter" par le biais des touches d'avancement
dans le cadre de ce que tu fait sa n'empeche pas la cameras de bouger sur l'axe verticale étant donenr que la camera suis le terrain
a toi de tester
Hors ligne
24-11-2012 17:59:23
- Logeur
- Membres

- Date d'inscription:
- Messages: 61
- IP: 5.48.75.208
- Courriel
C'est excellent, sa marche mais oui y a toujours un "mais" si ma caméra se trouve face à une pente elle monte et du coup bah elle touche plus le sol et à ce moment là je me remet à voler xD
Newton serai pas mieux ? xD
Hors ligne
24-11-2012 19:31:18
- johnplayer
- Membres

- Date d'inscription:
- Messages: 431
- IP: 83.192.80.19
- Courriel
Le code d'Irrlicht marche très bien, je l'utilise et je n'ai pas de problème. NoVerticalMovement t'empêche de te déplacer sur Y mais ne l'utilise pas tu n'en as pas besoin. Dans ton code que tu as donné au-dessus ta gravité est à zéro.
Code c++ :
// create collision response animator and attach it to the camera
scene::ISceneNodeAnimator* anim = scene->createCollisionResponseAnimator(
selector, camera, core::vector3df(60,100,60),
core::vector3df(0,0,0),
core::vector3df(0,50,0));
selector->drop();
camera->addAnimator(anim);
anim->drop();
Ta gravité est réglée sur vector3df(0,0,0) au lieu de vector3df(0,-2500.f,0). (2500.f parce tu as réglé le "moveSpeed" de ta camera à 2.5f)
Vérifie que "ellipsoidRadius" est de la bonne taille et il serait mieux dans un premier temps de mettre "ellipsoidTranslation" à vector3df(0,0,0).
core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."
Hors ligne
24-11-2012 19:52:31
- Logeur
- Membres

- Date d'inscription:
- Messages: 61
- IP: 5.48.75.208
- Courriel
Alors là MERCI MERCI
Je vous remercie de votre aide, tout marche, quand je suis en descente sa descend enfin normal quoi.
Merci beaucoup
PS. En modifiant les valeurs c'est bon sa descend moi ![]()
Hors ligne
27-11-2012 16:49:09
- Logeur
- Membres

- Date d'inscription:
- Messages: 61
- IP: 5.48.75.208
- Courriel
Bonsoir,
Je viens de refaire mon code pour pouvoir utiliser ma map.
Et là tout bug. La gravité et le saut ont disparus ...
Alors que j'utilise le même code ...
Je désespère petit à petit ;(
#include <irrlicht.h>
#include <iostream>
using namespace std;
using namespace irr;
int main()
{
IrrlichtDevice *device = createDevice(video::EDT_OPENGL, core::dimension2d<u32>(1000,800), 32);
video::IVideoDriver *driver = device -> getVideoDriver();
scene::ISceneManager *sceneManager = device -> getSceneManager();
device->setWindowCaption(L"Fast Jump [INDEV]");
device->getCursorControl()->setVisible(false);
scene::IAnimatedMesh *map = sceneManager -> getMesh("mapFJ.obj");
scene::IMeshSceneNode *scene = sceneManager -> addMeshSceneNode(map -> getMesh(0));
scene -> setMaterialFlag(video::EMF_LIGHTING,false);
scene -> setMaterialTexture(0, driver -> getTexture("terrain-texture.jpg"));
sceneManager -> getMeshManipulator() -> makePlanarTextureMapping(map -> getMesh(0), 0.4f);
scene::ITriangleSelector *selector = 0;
if (scene)
{
selector = sceneManager->createOctTreeTriangleSelector(map->getMesh(0), scene);
scene->setTriangleSelector(selector);
selector->drop();
}
SKeyMap keyMap[5];
keyMap[0].Action = irr::EKA_MOVE_FORWARD;
keyMap[0].KeyCode = irr::KEY_KEY_Z;
keyMap[1].Action = irr::EKA_MOVE_BACKWARD;
keyMap[1].KeyCode = irr::KEY_KEY_S;
keyMap[2].Action = irr::EKA_STRAFE_LEFT;
keyMap[2].KeyCode = irr::KEY_KEY_Q;
keyMap[3].Action = irr::EKA_STRAFE_RIGHT;
keyMap[3].KeyCode = irr::KEY_KEY_D;
keyMap[4].Action = EKA_JUMP_UP;
keyMap[4].KeyCode = KEY_SPACE;
scene::ICameraSceneNode* camera = sceneManager-> addCameraSceneNodeFPS(0,100.0f,0.025f, -1, keyMap, 5, true, 10.5f);
camera->setPosition(core::vector3df(0,100,0));
camera->setTarget(core::vector3df(0,0,0));
camera->setFarValue(42000.0f);
scene::ISceneNodeAnimator *anim = sceneManager->createCollisionResponseAnimator(selector, camera, core::vector3df(60,100,60), core::vector3df(0,-100,0), core::vector3df(0,50,0));
camera->addAnimator(anim);
anim->drop();
while(device -> run())
{
driver -> beginScene(true, true, video::SColor(255,90,146,177));
sceneManager -> drawAll();
driver->endScene();
}
device -> drop();
return 0;
}Hors ligne
27-11-2012 18:35:14
- johnplayer
- Membres

- Date d'inscription:
- Messages: 431
- IP: 83.192.80.19
- Courriel
De grandes chances qu'il n'ait pas réussi à charger le mesh. Tu ne créé pas le selector si le node "scene" n'est pas créé mais pourtant tu l'autorises à être paramètré?!
Essaies ça déjà:
Code c++ :
#include <irrlicht.h>
#include <iostream>
using namespace std;
using namespace irr;
int main()
{
IrrlichtDevice *device = createDevice(video::EDT_OPENGL, core::dimension2d<u32>(1000,800), 32);
video::IVideoDriver *driver = device -> getVideoDriver();
scene::ISceneManager *sceneManager = device -> getSceneManager();
device->setWindowCaption(L"Fast Jump [INDEV]");
device->getCursorControl()->setVisible(false);
scene::IAnimatedMesh *map = sceneManager -> getMesh("mapFJ.obj");
scene::IMeshSceneNode *scene = sceneManager -> addMeshSceneNode(map -> getMesh(0));
scene::ITriangleSelector *selector = NULL;
if (scene)
{
scene -> setMaterialFlag(video::EMF_LIGHTING,false);
scene -> setMaterialTexture(0, driver -> getTexture("terrain-texture.jpg"));
sceneManager -> getMeshManipulator() -> makePlanarTextureMapping(map -> getMesh(0), 0.4f);
selector = sceneManager->createOctTreeTriangleSelector(map->getMesh(0), scene);
if(selector)
{
scene->setTriangleSelector(selector);
selector->drop();
}
}
SKeyMap keyMap[5];
keyMap[0].Action = irr::EKA_MOVE_FORWARD;
keyMap[0].KeyCode = irr::KEY_KEY_Z;
keyMap[1].Action = irr::EKA_MOVE_BACKWARD;
keyMap[1].KeyCode = irr::KEY_KEY_S;
keyMap[2].Action = irr::EKA_STRAFE_LEFT;
keyMap[2].KeyCode = irr::KEY_KEY_Q;
keyMap[3].Action = irr::EKA_STRAFE_RIGHT;
keyMap[3].KeyCode = irr::KEY_KEY_D;
keyMap[4].Action = EKA_JUMP_UP;
keyMap[4].KeyCode = KEY_SPACE;
scene::ICameraSceneNode* camera = sceneManager-> addCameraSceneNodeFPS(0,100.0f,0.025f, -1, keyMap, 5, true, 10.5f);
camera->setPosition(core::vector3df(0,100,0));
camera->setTarget(core::vector3df(0,0,0));
camera->setFarValue(42000.0f);
if(selector)
{
scene::ISceneNodeAnimator *anim = sceneManager->createCollisionResponseAnimator(selector, camera, core::vector3df(60,100,60), core::vector3df(0,-100,0), core::vector3df(0,50,0));
camera->addAnimator(anim);
anim->drop();
}
while(device -> run())
{
driver -> beginScene(true, true, video::SColor(255,90,146,177));
sceneManager -> drawAll();
driver->endScene();
}
device -> drop();
return 0;
}
core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."
Hors ligne
27-11-2012 18:40:50
- Logeur
- Membres

- Date d'inscription:
- Messages: 61
- IP: 5.48.75.208
- Courriel
J'ai repris ton code mais tjrs le même problème.
Et puis impossible de se déplacer sur toute la carte.
Je vais vite fait faire une vidéo : Voici : http://www.youtube.com/watch?v=nP9n6MOJ0N0&feature=youtu.be
Hors ligne
27-11-2012 18:51:53
- johnplayer
- Membres

- Date d'inscription:
- Messages: 431
- IP: 83.192.80.19
- Courriel
Certainement à cause du relief et de ta colision. Vu comment est ton terrain, tu dois rester bloquer entre les obstacles qu'il forme. Essai avec un terrain plat ou au moins avec des obstacles qu'il est possible de franchir avec tes paramètres de collision.
core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."
Hors ligne
27-11-2012 18:53:25
- Logeur
- Membres

- Date d'inscription:
- Messages: 61
- IP: 5.48.75.208
- Courriel
Mais le problème c'est que j'aimerais garder ce terrain.
Y a pas moyen de faire autrement ?
Hors ligne
27-11-2012 19:00:55
- johnplayer
- Membres

- Date d'inscription:
- Messages: 431
- IP: 83.192.80.19
- Courriel
Régler tes paramètres! Si le saut ne marche pas c'est que la valeur n'est pas appropriée, peut-être régler slidingvalue et l'ellipsoidradius de ta colision pour franchir plus facilement les obstacles... S'il y a des paramètres dans les fonctions c'est pour ça. Après peut-être quand modélisant ton terrain différemment tu peux faire quelque chose. Mais là je ne sais pas vraiment ce que tu veux donc comment je pourrais te donner une réponse précise?
core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."
Hors ligne
27-11-2012 19:20:33
- Logeur
- Membres

- Date d'inscription:
- Messages: 61
- IP: 5.48.75.208
- Courriel
J'aimerai faire un petit jeu de saut d'obstacle donc automatiquement je dois avoir des endroits plus hauts que d'autres.
Et puis même avec un terrain plat, je n'ai plus mes sauts et la gravité. ;(
Je suis vraiment désolé de vous embêter avec mes problèmes
Hors ligne
27-11-2012 21:09:40
- johnplayer
- Membres

- Date d'inscription:
- Messages: 431
- IP: 83.192.80.19
- Courriel
Augmentes le paramètre de saut, peut-être que la gravité de ta collision est trop forte.
core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."
Hors ligne
27-11-2012 21:12:49
- Logeur
- Membres

- Date d'inscription:
- Messages: 61
- IP: 5.48.75.208
- Courriel
Bah j'aimerai bien déjà avoir de la gravité xD
Je ne suis même pas attiré par le sol.
J'ai beau changé les valeurs rien ne se passe...
Hors ligne
27-11-2012 21:32:40
- johnplayer
- Membres

- Date d'inscription:
- Messages: 431
- IP: 83.192.80.19
- Courriel
Utilises printf() pour vérifier l'état de tes variables (selector, anim...) et aussi pour vérifier que tes bouts de code conditionnés sont bien executés.
core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."
Hors ligne
28-11-2012 05:44:33
- Logeur
- Membres

- Date d'inscription:
- Messages: 61
- IP: 5.48.75.208
- Courriel
Mais là je vois pas d'où viens le problème j'utilise le même code que si c'était une heightmap, et là cela ne marche alors que sur la heightmap c'était génial ...
#include <irrlicht.h>
#include <iostream>
using namespace std;
using namespace irr;
int main()
{
IrrlichtDevice *device = createDevice(video::EDT_OPENGL, core::dimension2d<u32>(1000,800), 32);
video::IVideoDriver *driver = device -> getVideoDriver();
scene::ISceneManager *sceneManager = device -> getSceneManager();
device->setWindowCaption(L"Fast Jump [INDEV]");
device->getCursorControl()->setVisible(false);
scene::IAnimatedMesh *map = sceneManager -> getMesh("mapp.obj");
scene::IMeshSceneNode *scene = sceneManager -> addMeshSceneNode(map -> getMesh(0));
scene::ITriangleSelector *selector = NULL;
if (scene)
{
scene -> setMaterialFlag(video::EMF_LIGHTING,false);
scene -> setMaterialTexture(0, driver -> getTexture("terrain-texture.jpg"));
sceneManager -> getMeshManipulator() -> makePlanarTextureMapping(map -> getMesh(0), 0.4f);
selector = sceneManager->createOctTreeTriangleSelector(map->getMesh(0), scene);
if(selector)
{
scene->setTriangleSelector(selector);
selector->drop();
}
}
SKeyMap keyMap[5];
keyMap[0].Action = irr::EKA_MOVE_FORWARD;
keyMap[0].KeyCode = irr::KEY_KEY_Z;
keyMap[1].Action = irr::EKA_MOVE_BACKWARD;
keyMap[1].KeyCode = irr::KEY_KEY_S;
keyMap[2].Action = irr::EKA_STRAFE_LEFT;
keyMap[2].KeyCode = irr::KEY_KEY_Q;
keyMap[3].Action = irr::EKA_STRAFE_RIGHT;
keyMap[3].KeyCode = irr::KEY_KEY_D;
keyMap[4].Action = EKA_JUMP_UP;
keyMap[4].KeyCode = KEY_SPACE;
scene::ICameraSceneNode* camera = sceneManager-> addCameraSceneNodeFPS(0,100.0f,0.025f, -1, keyMap, 5, true, 100.5f);
camera->setPosition(core::vector3df(0,4,0));
camera->setTarget(core::vector3df(10000,10000,10000));
camera->setFarValue(42000.0f);
if(selector)
{
scene::ISceneNodeAnimator *anim = sceneManager->createCollisionResponseAnimator(selector, camera, core::vector3df(100,100,100), core::vector3df(0,0,0), core::vector3df(0,0,0));
camera->addAnimator(anim);
anim->drop();
}
while(device -> run())
{
driver -> beginScene(true, true, video::SColor(255,90,146,177));
sceneManager -> drawAll();
driver->endScene();
}
device -> drop();
return 0;
}Hors ligne
28-11-2012 08:34:13
- johnplayer
- Membres

- Date d'inscription:
- Messages: 431
- IP: 83.192.80.19
- Courriel
Tu le fais exprès ou quoi? dans "createCollisionResponseAnimator()" la gravité est à 0, normal que tu n'es pas de gravité!
core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."
Hors ligne
28-11-2012 14:42:42
- Logeur
- Membres

- Date d'inscription:
- Messages: 61
- IP: 5.48.75.208
- Courriel
Sa change rien.
Dans ma zone où se trouve mon terrain il y a pas de gravité et dès que j'en sors j'ai de la gravité et mes sauts qui marchent.
Où change t'on les coordonnées de ma map. Car du coup cela doit venir de çà.
Je suis vraiment désolé de t'embeter, et non je le fais pas exprès c'est juste que je bloque sur le sujet donc je change plein de trucs.
Hors ligne



