如何将GameObject缩放到一定大小?

时间:2018-11-21 18:07:23

标签: c# unity3d

我正在尝试沿Y轴逐渐缩放对象,直到它与另一个游戏对象的大小相同,或者可以手动输入尺寸。现在我有这个。

growScale = ObjectToScale.transform.localScale;
targetSize = TargetObject.GetComponent<RectTransform>().localScale;
isScale = true;

void Update()
{
if (isScaleCurtainBottomEasyRead)
    {
        growScale += new Vector3(0, 1, 0) * 0.01f;
        ObjectToScale.transform.localScale = Vector3.Lerp(ObjectToScale.transform.localScale, growScale, 0.5f);
        if (ObjectToScale.transform.localScale == targetSize)
            {
                isScaleCurtainBottomEasyRead = false;
            }

    }
}

对象永远不会停止缩放。我认为这是因为它永远都不会达到完全相同的大小,并且略大于或小于,但是我不知道如何阻止它缩放。我愿意手动输入尺寸,而不是使用TargetObject作为尺寸的参考,但是我能在网上找到的所有内容都涉及无限期缩放或使用bool停止缩放,而不是在达到一定尺寸时停止使用。我该怎么解决?

编辑:程序员将其标记为重复,但是链接的问题询问如何在特定时间段内缩放对象。我需要对其进行缩放,直到达到特定大小,而不是一定秒数为止。

0 个答案:

没有答案