Hello,
I'm messing around with Godot 3.0 and am hitting an interesting issue with getting a simple character controller running with KinematicBody. It responds to the scene the way you would expect, but when moving at slightly higher speeds, it jitters quite a bit on every machine I've tried (Intel integrated 5000, and Nvidia gtx 1080ti).
It seems to be something in how its resolving movement. The visual artifact is it seems to be jumping between one frame ahead and behind in the simulation. (note: it only affects the capsule)
var move_speed = 6.0
var move_direction = Vector3()
func _ready():
# Called every time the node is added to the scene.
# Initialization here
pass
func _process(delta):
move_direction = Vector3(0, -0.3 ,0)
if (Input.is_action_pressed("move_forward")):
move_direction.z -= 1
if (Input.is_action_pressed("move_backward")):
move_direction.z += 1
if (Input.is_action_pressed("move_left")):
move_direction.x -= 1
if (Input.is_action_pressed("move_right")):
move_direction.x += 1
func _physics_process(delta):
get_parent().move_and_slide(move_direction.normalized() * move_speed, Vector3(0,1,0))
I've also tried a version where all the code is in physicsprocess, as well as disabling the down-force, and turning off the interpolated camera. None of those things stop the jitter. It's present when moving in any direction, but most obvious when moving left and right.
Here is an example of a repro project: https://1drv.ms/u/s!AuWBWOrFX0CwmJYBG6Z6Y-_RlgX2sw
(arrow keys move)
I feel like this isn't a bug, and simply me doing something wrong... But I'm at a loss as to what it is T_T