在世界空间中拖放Unity游戏对象

时间:2019-11-17 04:54:31

标签: unity3d

我在拖放时遇到问题。我正在制作主要由用户界面驱动的游戏,尽管主要用户界面下方会有一些3d动画,所以我想使用Worldspace或Camera,这样我就可以在用户界面之外显示内容。

如果我的画布位于“屏幕空间覆盖”中,则拖动效果很好。当我尝试使用WorldSpace或Screen Space Camera时,事情开始变得古怪。坐标随处可见。我尝试使用Camera.main.ScreenToWorldPoint来转换位置,但这似乎也给了我不好的数据。这里有我想念的东西吗?

    public void OnBeginDrag(PointerEventData eventData)
    {
        StartDragPosition = eventData.position;
        difference = StartDragPosition - this.transform.position;
    }

    public void OnDrag(PointerEventData eventData)
    {
        //This offset helps us keep our mouse position on the object itself
        transform.position =  eventData.position - new Vector2(difference.x, difference.y);
    }

0 个答案:

没有答案
相关问题