Pages: 1
- Accueil forums
- » Aide Irrlicht.NET et .NET CP
- » Plusieurs petits problèmes
#1
Mais le mesh se fige dans la première frame de l'animation sans aller plus loin... Je suppose qu'il faut caler "anms.SetFrameLoop(160,180); " ailleurs, mais de là à savoir où...
De plus, j'ai tenté d'insérer un système de collisions entre mon md2 et la map, mais celui-ci ne semble pas marcher : il reste à quelques mêtres du sol, et ne peut pas se déplacer. Pourtant, je lui ai mis des valeurs minimales au apramètre ellipsoide radius...
Voilà le bout de code qui pose problème :
PS : j'ai également un gros problème... je comprend très mal le C++, donc c'est dur de trouver une solution...
07-09-2008 14:01:29
- Krankmann
- Membres
- Date d'inscription:
- Messages: 2
- IP: 90.27.149.141
- Courriel
Bonjour à tous, je débute sous irrlicht.NET CP, et, après avoir regardé les tutoriaux, je me suis décidé à tenter de faire circuler un mesh sur la map, selon un jeu de collision.
Or, je rencontre deux problèmes : le premier étant que je ne trouve pas comment animer le mesh pendant qu'il se déplace, j'ai bien tenté
case KeyCode.Key_Z:
{
anms.Position = en_avant(v,r);
anms.SetFrameLoop(160,180);
}
return true;Mais le mesh se fige dans la première frame de l'animation sans aller plus loin... Je suppose qu'il faut caler "anms.SetFrameLoop(160,180); " ailleurs, mais de là à savoir où...
De plus, j'ai tenté d'insérer un système de collisions entre mon md2 et la map, mais celui-ci ne semble pas marcher : il reste à quelques mêtres du sol, et ne peut pas se déplacer. Pourtant, je lui ai mis des valeurs minimales au apramètre ellipsoide radius...
Voilà le bout de code qui pose problème :
// On initialise la map
device.FileSystem.AddZipFileArchive("map-20kdm2.pk3",true,true);
AnimatedMesh q3levelmesh = smgr.GetMesh("20kdm2.bsp");
SceneNode q3node = null;
if (q3levelmesh != null)
q3node = smgr.AddOctTreeSceneNode(q3levelmesh.GetMesh(0), smgr.RootSceneNode, -1, 128);
TriangleSelector selector = null;
if (q3node != null)
{
q3node.Position = new Vector3D(-1370, -130, -1400);
selector = smgr.CreateOctTreeTriangleSelector(
q3levelmesh.GetMesh(0), q3node, 128);
q3node.TriangleSelector=selector;
}
// On initialise le personnage
anms = smgr.AddAnimatedMeshSceneNode(smgr.GetMesh("tris.md2"));
anms.Position=new Vector3D(0,1500, 0);
anms.SetMaterialFlag(MaterialFlag.Lighting,false);
anms.SetFrameLoop(0,159);
anms.AnimationSpeed=30;
anms.Rotation=new Vector3D(0,180,0);
anms.SetMaterialTexture(0,driver.GetTexture("ultra.pcx"));
Animator anim = smgr.CreateCollisionResponseAnimator(
selector, anms, new Vector3D(1, 2, 1),
new Vector3D(0, -30, 0), new Vector3D(0, 10, 0), 0);
anms.AddAnimator(anim);PS : j'ai également un gros problème... je comprend très mal le C++, donc c'est dur de trouver une solution...
Hors ligne



