hello everyone :)

If you are a new Irrlicht Engine user, and have a newbie-question, this is the forum for you. You may also post general programming questions here.
Post Reply
paul
Posts: 7
Joined: Sat Sep 11, 2004 7:19 am

hello everyone :)

Post by paul »

hey people ,new user here :) had irrlicht on my hdd for 2 months and i finaly got time to have a play with it and i think its just great.

my first love was blitz3d but i decided to move onto learn some C++ so i think irrlicht is the way to go ,i found it real easy to get stuff happening on the screen i love it :P .

there is one little thing i dont understand and thats the animation looping and speed ,my character is a zombie (psionics one ,http://www.psionic3d.co.uk/)

it has 2 walk cycles:
walk cycle one frames: 2 - 22
walk cycle two frames: 22 - 36

now in irrlicht i have to set the speed and frames to:
//walk 2 animation
node->setAnimationSpeed(500);
node->setFrameLoop(44 ,836);

and even then it doesnt seam right but its the closest i have got so far to a normal walking animation so could sombody let me know how the animation commands are working please ,i would read the source to the DLL but i am a total beginer to C++ and it would only go over my head and waste time :) ,also done a search on the forum but it has the worste search feature i have seen lol.

thanks in advance
bal
Posts: 829
Joined: Fri Jun 18, 2004 5:19 pm
Location: Geluwe, Belgium

Post by bal »

Welcome :).

The fault is your setFrameLoop() function. With this function you set the frames where Irrlicht loops through again and again. Why do you set it to frames that doesn't exist (you told the numbers)?

Code: Select all

node->setFrameLoop(2-22);

//or 

node->setFrameLoop(22-36);
should do the trick :).
General Tools List
General FAQ
System: AMD Barton 2600+, 512MB, 9600XT 256MB, WinXP + FC3
paul
Posts: 7
Joined: Sat Sep 11, 2004 7:19 am

oops

Post by paul »

my fault hehe forgot to mention what happens when i set it to correct numbers

if i do node->setFrameLoop(2-22); or node->setFrameLoop(22-36); or even any animation loop from the model it seams to scale the model on the Y axis to about 3 times its normal size ,so i set it to node->setFrameLoop(44-800); and it plays the animation but not perfect also not scaled :? its got me stumped lol

i will go get another model and see if it does the same thing with it too
main rig: AMD64 3000+ ,1gig DDR ,ATI 9800XT ,WinXP
laptop: Intel 2.6mhz ,SiS640 gfx ,256mb DDR ,WinXP

int main()
{
irr::game(device->makegame(DOOM3);
}
bal
Posts: 829
Joined: Fri Jun 18, 2004 5:19 pm
Location: Geluwe, Belgium

Post by bal »

Woops, this was too early :P

The syntax is wrong. It has to be setFrameLoop(fr1, fr2) , a comma, not a - :)
General Tools List
General FAQ
System: AMD Barton 2600+, 512MB, 9600XT 256MB, WinXP + FC3
paul
Posts: 7
Joined: Sat Sep 11, 2004 7:19 am

hehe

Post by paul »

yeah i have been doin commas :lol: last post i just done a copy&paste of your example.

anyways i done some more tests ms3d ,md2:

ms3d is the worst of the 2 for it to even animate at all the lowest frame has to be over "22" and the highest frame has to be set to "100+" thast just to get it to move even one frame

md2 works great ,doesnt scale itself but still need to set the frames alot higher than what the animation cycle is

walk animation in an ant model: 1 to 9
for the md2 to animate that cycle i have to set it to

node->setAnimationSpeed(50);
node->setFrameLoop(2,70);

then it works perfect but i will be spending hours trying to find all the right combinations to enter for my animations :?

btw this is skeleton animation its not a bug or nothing is it?
main rig: AMD64 3000+ ,1gig DDR ,ATI 9800XT ,WinXP
laptop: Intel 2.6mhz ,SiS640 gfx ,256mb DDR ,WinXP

int main()
{
irr::game(device->makegame(DOOM3);
}
paul
Posts: 7
Joined: Sat Sep 11, 2004 7:19 am

funky lol

Post by paul »

well i dont know what it was but the irrlicht 0.7 fixed it :? works perfect now correct frames :) ,thanx for ur help bal
main rig: AMD64 3000+ ,1gig DDR ,ATI 9800XT ,WinXP
laptop: Intel 2.6mhz ,SiS640 gfx ,256mb DDR ,WinXP

int main()
{
irr::game(device->makegame(DOOM3);
}
Post Reply