Hm... Changing the FPS to 1 shows that what the problem really is is that the shadow is moving in coarse steps from one location to the next.
I think I may be starting to understand what is causing the behavior.
Let's say that I move an entity from point A to point B.
A -------------------- B
With render tween, the entity will be rendered at every position marked by a *.
A ---*-----*------*--- B
But when I get the position of the entity in Blitz, so I can point the light source at it and render the shadow, the shadow system does not see the object at the position marked by the *'s. It only sees it at A or B.
When you use tween with renderworld, you are usually rendering at one of the * locations. So the shadow lags behind until you reach B, and then it catches up suddenly because you've updated the entity's location. But when you update the entity's location, that means the shadow is leading it. So the shadow waits there till the entity catches up, and then it jumps ahead again. So actually it's not lagging behind... it's leading the entity.
There is no way I can fix this problem within the shadow system itself. I have no way of knowing if tweening is enabled, or the tweened locations of entites, and to allow you to manage that through a tweening system built into the system would make the system much more complicated.
This seems like a pretty major oversight in the Blitz tweening system... And nobody has encountered this problem before? It seems to me that it would affect skies being centered on cameras... And fake shadows placed beneath players... unless they are parented to the camera, or player. But if you parent a sky to a camera then it would rotate wit the camera... So.... have people been creating pivots which they parent the sky and camera to so the camera can pivot independently, but still move with the sky?
I hate tweening!
I think I may be starting to understand what is causing the behavior.
Let's say that I move an entity from point A to point B.
A -------------------- B
With render tween, the entity will be rendered at every position marked by a *.
A ---*-----*------*--- B
But when I get the position of the entity in Blitz, so I can point the light source at it and render the shadow, the shadow system does not see the object at the position marked by the *'s. It only sees it at A or B.
When you use tween with renderworld, you are usually rendering at one of the * locations. So the shadow lags behind until you reach B, and then it catches up suddenly because you've updated the entity's location. But when you update the entity's location, that means the shadow is leading it. So the shadow waits there till the entity catches up, and then it jumps ahead again. So actually it's not lagging behind... it's leading the entity.
There is no way I can fix this problem within the shadow system itself. I have no way of knowing if tweening is enabled, or the tweened locations of entites, and to allow you to manage that through a tweening system built into the system would make the system much more complicated.
This seems like a pretty major oversight in the Blitz tweening system... And nobody has encountered this problem before? It seems to me that it would affect skies being centered on cameras... And fake shadows placed beneath players... unless they are parented to the camera, or player. But if you parent a sky to a camera then it would rotate wit the camera... So.... have people been creating pivots which they parent the sky and camera to so the camera can pivot independently, but still move with the sky?
I hate tweening!