protected void LateUpdate() { if (!entity.IsOwner) { return; } /* move only when: * - character is grounded and * - user said so and * - there are at least one attractor */ if (isGrounded && moveDir.magnitude >= .1f && gravityBody.AttractorCount() > 0) { if (isGrounded) { SetAnimation("isWalking", 1); } //deltaParentPos = parent.position - previousParentPos; //previousParentPos = parent.position; //transform.parent = null; Quaternion targetRotation = Quaternion.LookRotation(finalDir, transform.up); model.rotation = Quaternion.Slerp(model.rotation, targetRotation, turnSmoothTime * BoltNetwork.FrameDeltaTime); GetComponent <Rigidbody>().MovePosition(GetComponent <Rigidbody>().position + (finalDir * moveSpeed) * BoltNetwork.FrameDeltaTime); isMoving = true; } else { SetAnimation("isWalking", 0); isMoving = false; } }