transform.Rotate在Android上导致fps下降

时间:2019-04-30 13:17:34

标签: c# unity3d

使用变换。在具有碰撞器和精灵渲染器的游戏对象上旋转会导致游戏在Android上滞后。关于如何改善这一点有什么想法吗?

我曾尝试禁用对撞机,并设置了刚体设置为运动学,如另一篇文章中所述,但无济于事。

以下是旋转对象的组成部分:

enter image description here

这是用于旋转的脚本:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ObjectMove : MonoBehaviour
{
    //Rotate
    float speed = 150.0f;
    public bool forward = false;
    public bool back = false;
    public bool down = false;
    public bool up = false;
    public bool right = false;
    public bool left = false;


    void Update()
    {
        //Rotate
        if(forward == true)
        {
            transform.Rotate(Vector3.forward * speed * Time.deltaTime);
        }
        if (back == true)
        {
            transform.Rotate(Vector3.back * speed * Time.deltaTime);
        }
        if (down == true)
        {
            transform.Rotate(Vector3.down * speed * Time.deltaTime);
        }
        if (up == true)
        {
            transform.Rotate(Vector3.up * speed * Time.deltaTime);
        }
        if (right == true)
        {
            transform.Rotate(Vector3.right * speed * Time.deltaTime);
        }
        if (left == true)
        {
            transform.Rotate(Vector3.left * speed * Time.deltaTime);
        }


}

因此,我基本上在检测器中手动将布尔值更改为true / false,以管理我希望游戏对象旋转的方向。还有另一种方式可以做到而又不会导致如此低的fps吗?在PC上,它也会下降,但并不明显。

1 个答案:

答案 0 :(得分:0)

正如评论中的某些人所提到的,脚本的另一部分确实使fps下降。我以为当时甚至没有执行,但显然是。我的错。感谢您的帮助!