Models don't turn smoothly when driven by actor mover

Advanced OpenGL source port fork from ZDoom, picking up where ZDoomGL left off.
[Home] [Download] [Git builds (Win)] [Git builds (Mac)] [Wiki] [Repo] [Bugs&Suggestions]

Moderator: Graf Zahl

User avatar
Rex Claussen
Developer
Developer
Posts: 2659
Joined: Tue Jul 11, 2006 18:36
Contact:

Models don't turn smoothly when driven by actor mover

Post by Rex Claussen »

I had made a post on the ZDooM forum, and I'm also posting here for suggestions. Here is the gist of the problem:

I have a model (a tram) that is moving along a path using an ActorMover. The path curves in a couple of places, and I've placed interpolation points that are angled appropriately along the curve (i.e., 12, 23, 34, 45, 56, 67, 78, and 90). Unfortunately, what seems to be happening is that as soon as the model reaches the first IP in the curve, it immediately assumes a 45 degree angle, instead of a 12 degree angle. It remains that way until it passes the IP angled at 45 degrees, and then it turns to 90 degrees. In other words, it seems to be ignoring the angles that are not multiples of 45 degrees, and looks very awkward and unrealistic.

I thought the key problem was with the inability of interpolation points to accept angles other than multiples of 45 degrees. I asked Randy to look into it and he sent me a note indicating that interpolation points do, indeed, accept all angles. Next, I thought that perhaps I need to instruct the actor mover (which "drives" the model) to also adopt the angles of the IP. I have code for another actor mover (a helicopter), but it uses 2 parts - fuselage & rotor, whereas the model with which I'm having a problem only has a single part. I'm unable to figure out how the Osprey code can be adapted for the tram, but perhaps someone here can help. Here is the script for the Osprey mover:
Spoiler:

Return to “GZDoom”