动画在设备上不流畅

时间:2016-07-08 11:43:34

标签: android ios unity3d

我想通过更改RawImage的uvRect.y来为纹理设置动画。

public class animation : MonoBehaviour {

public RawImage image;
public Text text;

private Rect rect;

// Use this for initialization
void Start () {
    Application.targetFrameRate = 60;
    rect = image.uvRect;
}

// Update is called once per frame
void FixedUpdate () {
    rect.y += (Time.fixedDeltaTime*0.1f);
    text.text = (Time.fixedDeltaTime * 0.1f).ToString() + "  :   " + Time.fixedDeltaTime + "  :  "+image.uvRect.y;
    image.uvRect = rect;
}
}

在Unity的编辑器中,动画很流畅,但在设备(iOS或Android)上却没有。 场景中没有其他脚本,因此CPU没有加载太多以使动画不流畅。

那么为什么会如此以及如何解决呢?

1 个答案:

答案 0 :(得分:4)

这是因为您使用FixedUpdate()。请尝试使用Update()。 FixedUpdate应该用于物理操作。

您还应该Time.fixedDeltaTime加入Time.deltaTime

FixedUpdate取决于您可以在编辑器中设置的物理步骤。但Update基于FPS,因此您的动画将比FixedUpdate更平滑。