|
|
|
I have noticed this effect when testing weapons-builds too - it doesn't appear to be an animation issue - the AV simply doesn't follow the cross-hair accurately - how accurately depends on exactly where you are facing, and as the reporter states, it seems to be on the 15 degree mark (ie, as you approach a 15 deg mark the AV points more in line with the crosshair, as you get between 15deg marks the difference is very noticeable).
Yep, it isn't that the animation is off. The avatar actually 'lags' (has a short delay) before following the camera rotation. Say 0.1 seconds after turning your camera your avatar starts moving to follow it; however, when you stop moving your camera your avatar immediately stops rotating, meaning it won't match the actual rotation as it's still 0.1 second behind.
To fix this the avatar needs to keep turning for however long the 'lag' time is, or simply needs to keep rotating until it is facing the EXACT direction of the camera, or within some reasonable error, however it should only do this if the camera moved some reasonable amount. ie; if after 0.1 second the camera has rotated more than 2º then the avatar will start rotating (client side, server side is the same as ever) and keep rotating till it matches the camera angle. This is because while the delay is causing inaccuracy, it does help stop avatars 'twitching' from tiny camera adjustments. NOTE: All figures used are rough numbers off the top of my head, I have no idea what the actual values involved should be. Another issue that happens when you rotate is that first, if the rotation is small, only the head will move to face the new direction. Once the change goes over 15 degrees to either side, the body will rotate to follow.
This is probably done to attempt and make avatar's rotation more realistic (humans turn their heads before turning their body to the direction they're walking at), but when it comes to making small rotational corrections that do not involve walking - this can be a real pain. I believe you've hit on one the issues CrystalShard! Yes the head seems to move first, sometimes leaving the body pointing slightly the wrong way.
Most noticeable if you use move the view in mouselook, looking down you can sometimes see that when you move the view to either side, the body doesn't follow right away. Anyone who does look at fixing this, all that is required really is to have the avatar continue moving until it is facing the same direction as the camera. The slight delay is nice for the more realistic movement that CrystalShard has observed, but the lack of accuracy in where your avatar is pointing is a bit annoying =( There probably should be some latency. Both for making it realistic and to reduce the number of updates of position/rotation. But it should probably time-out after 2 seconds and make the avatar rotate. Though, from what I've seen, if you start moving, the direction you move in is correct, so I don't see why this would be so important, but maybe I am missing something (didn't read everything thoroughly and I don't know all the side effects of this).
What I also noticed is a weird jerk when avatar starts to turn. Well in my case, I have an attack which is easier to use in third person (outside of mouselook), however, due to the inaccuracy the attack could be firing off at up to as much as 15 degrees off target. Moving forwards or backwards won't really work very well in this case since it becomes very unintuitive.
I do agree that the delay should still be there, but the body should follow, even if the camera stops moving, ie - when the camera stops moving, instead of the avatar stopping right away, it should ensure that it is rotated to the same direction as the camera within say 0.1 seconds of it stopping, and update the server which this rotation, thus ensuring that everything is synchronised correctly. When you're standing and looking around in RL you don't look, then turn to face the new direction, you will usually not change your facing at all unless there's a reason for it. Especially if you're making small changes in your point of view.
Sure, but if you're actively looking in a direction you're not going to stand craning your neck or twisting round to look at it, you'll turn to face that direction. Since SL can't possibly know what an avatar intends to do, and since it introduces inaccuracies of up around 15 degrees (on average) on scripted items, it should really move the avatar to face its official direction. Sure it can lag behind to make it look more realistic, but realism at the cost of accuracy I don't find very appealing.
It also means that what one person sees, another may not. For example, if I turn my camera 15 degrees to the left, my client may choose to leave my avatar where it is. However, for someone who just arrived, they will see my avatar facing the same direction as my camera is pointed. So what I see and what others will see can end up being different. I'm not suggesting the avatar should twitch with every movement my camera makes, but I feel the avatar should still match the camera's rotation within a short period. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Try making an animation that holds the avatar perfectly straight.