Less jittery way of moving actors in ACS
Moderator: GZDoom Developers
Less jittery way of moving actors in ACS
In the example file http://nash.wanzafran.com/doomstuff/position.zip you can see that the dead Caco is very jittery, like it cannot keep up with the player's position.
Would it be possible to "fix" the Thing_Move and SetActorPosition functions, or maybe create a new function that accurately positions actors dead-on?
Would it be possible to "fix" the Thing_Move and SetActorPosition functions, or maybe create a new function that accurately positions actors dead-on?
The "jittery-ness" is probably because scripts and the like are updated only each tic, and due to the uncapped framerate, it's possible for other things (players, cameras, platforms, etc.) to move in that split second between tics. If you set cl_capfps to 1, you'll notice that the "jittery-ness" is gone (though admittedly that's only because the whole game looks like a slideshow now.
) Unless new move commands can be created (an ACS ActorMover, perhaps?) this can't really be fixed, unfortunately.
Wait, since when do I know so much about the Doom engine? Graf's the programmer here... plus, I'm saying this without playing the wad, too, so I'm either hitting the nail on the head perfectly or dropping the hammer on my own foot.
Wait, since when do I know so much about the Doom engine? Graf's the programmer here... plus, I'm saying this without playing the wad, too, so I'm either hitting the nail on the head perfectly or dropping the hammer on my own foot.
- solarsnowfall
- Posts: 1581
- Joined: Thu Jun 30, 2005 1:44 am
- solarsnowfall
- Posts: 1581
- Joined: Thu Jun 30, 2005 1:44 am
1) Use it to move cameras since the motion is always smooth.
2) Use it to move slow moving objects, so there is no visible jitter (ie orbiting objects).
3) Accept the consinquences if the desired effect is otherwise impossible to achieve, or the noticable jitter is negligible.
It'd be great if there were an argument that could be set to SetActorPosition that would provide a one frame interpolation between the thing's current position and the position it was being set to. Is it even possible? Beats the hell out of me.
2) Use it to move slow moving objects, so there is no visible jitter (ie orbiting objects).
3) Accept the consinquences if the desired effect is otherwise impossible to achieve, or the noticable jitter is negligible.
It'd be great if there were an argument that could be set to SetActorPosition that would provide a one frame interpolation between the thing's current position and the position it was being set to. Is it even possible? Beats the hell out of me.
- solarsnowfall
- Posts: 1581
- Joined: Thu Jun 30, 2005 1:44 am
