我想通过更改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没有加载太多以使动画不流畅。
那么为什么会如此以及如何解决呢?
答案 0 :(得分:4)
这是因为您使用FixedUpdate()
。请尝试使用Update()
。 FixedUpdate应该用于物理操作。
您还应该Time.fixedDeltaTime
加入Time.deltaTime
。
FixedUpdate
取决于您可以在编辑器中设置的物理步骤。但Update
基于FPS,因此您的动画将比FixedUpdate
更平滑。