Перемещение камеры рывками Unity,C#
делаю игру головоломку, где есть механика перетаскивания объектов. Перемещение предметов реализовано через Configurable Joint. При нажатии левой кнопки мыши ставлю объект привязанный к телу игрока в Conected body перетаскиваемого предмета
// Параметры join'та
// Иерархия объектов игрока
// RigidBody перетаскиваемого предмета
Расположение Hand зависит от поворота камеры игрока, скрипт поворота:
[SerializeField] private GameObject _Body;
private float _SensitivityHor = 9.0f, _RotationX = 0, _SensitivityVert = 5.0f, _MinimumVert = -45.0f, _MaximumVert = 45.0f;
void FixedUpdate()
{
//Поворот камеры
Vector3 CameraAngles = transform.localEulerAngles;
_RotationX -= Input.GetAxis("Mouse Y") * _SensitivityVert;
_RotationX = Mathf.Clamp(_RotationX, _MinimumVert, _MaximumVert);
float delta = Input.GetAxis("Mouse X") * _SensitivityHor;
float rotationY = CameraAngles.y + delta;
transform.localEulerAngles = new Vector3(_RotationX, rotationY, 0);
//Поворот тела персонажа
Vector3 BodyAngles = _Body.transform.eulerAngles;
Vector3 _BodyrotationY = new Vector3(BodyAngles.x, CameraAngles.y, BodyAngles.z);
_Body.transform.eulerAngles = _BodyrotationY;
}
Проблема заключается в том, что при повороте камеры объекты перемещаются рывками (https://www.youtube.com/watch?v=Gn4HS4NIndg), причем на сцене все выглядит нормально, уже не знаю на что думать.
Ответы (1 шт):
Проблема была в rigidbody перетаскиваемого предмета, после отключения интерполяции и изменения обнаружения столкновений на дискретное дергание пропало:



