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 中设置了所有应该的东西,但它仍然不起作用..也许代码中存在一些问题? (