“放大”正交摄影机,同时使某些精灵相对移动

时间:2018-06-27 21:17:59

标签: unity3d

我有一个简单的环境,用户可以绘制诸如方框,三角形和圆形之类的对象。环境如下:

enter image description here

并绘制了一些对象:

enter image description here

左下角的按钮仅是精灵的子级精灵,单击它们即可运行动画。

有两个缩放工具,可以放大和缩小,它们使用以下代码运行:

public void OnPointerClick(PointerEventData EventData)
{
    if(CurrentTool == "ZoomIn Button")
    {
        TheCamera.orthographicSize -= 1f;
    }
    else if (CurrentTool == "ZoomOut Button")
    {
        TheCamera.orthographicSize += 1f;
    }
}

但这会使按钮像这样移动:

enter image description here

enter image description here

我是否可以通过任何方式让按钮随相机一起移动,以便用户始终将它们放置在同一位置而无需完全更改按钮系统?

1 个答案:

答案 0 :(得分:2)

为此,您应该使用Unity的UI画布,而不是将精灵作为父级添加到相机。它比您期望的要复杂得多,但是Unity有一个quick tutorial,您可以用来入门。要点是在场景中添加覆盖画布,然后在其中添加按钮。无论大小或高宽比,覆盖画布始终会缩放到屏幕上。