нужно перемещать летающие AR объекты перемещением пальца по экрану

 void moveObject()
{

    if (Input.touchCount > 0)
    {
        Touch touch = Input.GetTouch(0);

      
        Ray ray = ARCamera.ScreenPointToRay(touch.position);
        RaycastHit hitObject;


        if (Physics.Raycast(ray, out hitObject) && hitObject.transform.tag == "Selected" && touch.phase == TouchPhase.Stationary && !SelectedObject)
        {
           
            SelectedObject = hitObject.collider.gameObject;
          
            SelectedObjectRB = SelectedObject.GetComponent<Rigidbody>();
            SelectedObjectRB.constraints = RigidbodyConstraints.FreezeAll;
            

            if (touch.phase == TouchPhase.Moved)
            {
               
             //   ARRaycastManagerScript.Raycast(touch.position, hits);
                SelectedObject = GameObject.FindWithTag("Selected");
                SelectedObject.transform.position = touch.position;

                SelectedObject.transform.position = Vector3.Lerp(SelectedObject.transform.position, touch.position, attractSpeed * Time.deltaTime);
            }
        }
    }
}

здравствуйте, мне нужна помощь, вот скрипт который должен был реализовывать перемещение виртуальных объектов передвижением пальца по экрану смартфона по моим задумкам(то есть нужно нажимать на объект, и если палец зажат на объекте и если палец начинает двигаться по экрану то объект следует за ним и ему должно присваиваться конечное положение пальца на экране) - нужно перемещать летающие AR объекты пальцем по экрану, я не знаю как описать летающему объекту, что ему нужно следовать за пальцем(ведь позиция касания - это 2d, а у нас 3d объект который располагается в сцене).


Ответы (0 шт):