написал часть скрипта. Как только появляется мышка на экране, сразу же начинает перемещаться объект. В сцене 2 перпендикулярно поставленные плоскости. Мышка по ним скользит - по ним же скользит объект.
Но дело в том, что по вертикальной плоскости объект движется более-менее нормально(иногда плавно движется от камеры к плоскости), а по горизонтальной
скачет от камеры к точке на плоскости с большущей частотой.
Раньше объект скакал и по вертикальной плосскости, но после включения isKinematic почти перестал.
А ещё до этого объект крутился в разные стороны - решилось строчками:
Quaternion deltaRotation = Quaternion.Euler(rot);
rigidbody.MoveRotation(deltaRotation);
как это исправить?
скрипт:
using UnityEngine;
using System.Collections;
public class transformIngreedients : MonoBehaviour {
public Ray _ray;
public RaycastHit _hit;
public Vector3 rot = new Vector3(0,0,0);
void Start () {
gameObject.collider.enabled = true;
}
void Update() {
_ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(_ray, out _hit, 1)){
rigidbody.isKinematic = true;//-------------------------------------
//запрещаю поворачиваться
Quaternion deltaRotation = Quaternion.Euler(rot);
rigidbody.MoveRotation(deltaRotation);
//------------
rigidbody.detectCollisions = false;
transform.position = _hit.point;
}
}
}