销毁Arfoundation中的游戏对象不起作用

时间:2019-11-07 09:42:47

标签: c# unity3d augmented-reality

我正在尝试使用ARFoundation将对象生成到地面,然后长按删除该对象。

但是销毁功能在这方面不起作用。我使用了raycast来识别物体。

if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began)
        {
            Ray ray = Camera.main.ScreenPointToRay(Input.GetTouch(0).position);
            RaycastHit hit;
            // Check if finger is over a UI element
            if (EventSystem.current.IsPointerOverGameObject(Input.GetTouch(0).fingerId))
            {
                Debug.Log("Touched the UI");
            }
            else if (Physics.Raycast(ray, out hit)&&(hit.transform.name.ToString()!= "Quad"))
            {
                if (Input.GetTouch(0).deltaTime > 0.2f)
                {
                    Destroy(hit.transform.gameObject);
                }
            }

            else
            {
                PlaceObject();
            }
        }

1 个答案:

答案 0 :(得分:0)

从第一个if语句中删除该代码;

Input.GetTouch(0).phase == TouchPhase.Began

因为它在那里,您的函数在开始触摸时只会被调用一次。