在 AR 平面中生成游戏对象,按钮 UI 区域除外

问题描述 投票:0回答:0

我正在开发一个 AR 测量工具,我将我的测量点盘放在 AR 平面上。我为此添加了一个撤消和重做按钮,因为有机会使用撤消按钮删除最后放置的点。

现在我的问题是,当我点击撤消按钮时,点盘被放置在按钮后面,撤消按钮仅用于该位置。重做按钮也是如此。如果重做重生没有价值,当我在按钮后面实例化时,对象会在重做按钮后面生成,我没有这样做。

如果有人可以告诉我如何确保我生成对象而不是当我单击按钮时生成对象,但按钮完成分配的工作,这将很有帮助。

我已经把两个视频作为参考并将代码合并在里面。

对于使用命令设计模式的撤消-重做按钮链接

对于没有AR Placement Interactable的对象放置之间的线渲染

我没有使用 AR Interactable,而是使用了 Undo-Redo 的代码。

而且我也使用了这种方法来删除按钮上的生成代码,但是按钮根本不起作用。

public void UndoCommands()
{
 if (Input.touchCount > 0)
   {
     Touch touch = Input.GetTouch(0);
     if (undoHistoryStack.Count > 0 && !EventSystem.current.IsPointerOverGameObject(touch.fingerId))
       {
          //Code that is going to work when this function is called
       }
    }
}

此代码将添加到撤消按钮,同样适用于重做。

我一直试图破解这种情况。如果需要任何其他详细信息,我会尽力分享。但是,请帮帮我。

c# unity3d spawn gameobject unity-ui
© www.soinside.com 2019 - 2024. All rights reserved.