Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- for player in world_state_buffer[2]["Players"]:
- if player == get_tree().get_network_unique_id():
- var interpolated_transform = world_state_buffer[1][type][player]["P"].interpolate_with(world_state_buffer[2][type][player]["P"], interpolation_factor)
- for pos in range(local_state_buffer.size() - 1):
- if Server.client_clock() - local_state_buffer[pos]["Timestamp"] < interpolation_offset:
- if pos > 0:
- var local_interp_factor = float(render_time - local_state_buffer[pos - 1]["Timestamp"]) / float(local_state_buffer[pos]["Timestamp"] - local_state_buffer[pos - 1]["Timestamp"])
- var local_interp_origin = local_state_buffer[pos]["Origin"].linear_interpolate(local_state_buffer[pos-1]["Origin"], local_interp_factor)
- var spatial_temporal_offset = client_player.global_transform.origin - local_interp_origin
- #client_player.global_transform.origin = interpolated_transform.origin + spatial_temporal_offset
- for i in range(pos - 1):
- local_state_buffer.pop_front()
- break
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement