我需要用手指触摸屏幕来移动对象

时间:2021-01-21 10:20:44

标签: c# android unity3d augmented-reality

void moveObject()
{
    if (Input.touchCount > 0)
    {
        Touch touch = Input.GetTouch(0);
        TouchPosition = touch.position;

        if (touch.phase == TouchPhase.Began)
        {
            Ray ray = ARcamera.ScreenPointToRay(touch.position);
            RaycastHit hitObject;

            if (Physics.Raycast(ray, out hitObject))
            {
                if (hitObject.collider.CompareTag("UnSelected"))
                {
                    hitObject.collider.gameObject.tag = "Selected";
                }
            }
        }

        if (touch.phase == TouchPhase.Moved)
        {
            ARRaycastManagerScript.Raycast(TouchPosition, hits);
            SelectedObject = GameObject.FindWithTag("Selected");
            SelectedObject.transform.position = hits[0].pose.position;
        }

        if (touch.phase == TouchPhase.Ended)
        {
            if (SelectedObject.CompareTag("Selected"))
            {
                SelectedObject.tag = "UnSelected";
            }
        }

    }
}

我们谈论的是在电话屏幕前在空中飞行的增强现实助手,我需要使它能够通过手指在屏幕上的触摸来移动。似乎我在 Unity 中设置了所有应该的东西,但它仍然不起作用..也许代码中存在一些问题? (

0 个答案:

没有答案