C# 在android上旋转导致fps下降
使用对撞机和精灵渲染器在游戏对象上使用transform.Rotate会导致游戏在Android上滞后。关于如何改进这一点有什么想法吗 我曾尝试禁用碰撞器,并将刚体设置为“运动学”,如另一篇文章中所述,但没有效果 以下是旋转对象的组件: 下面是用于旋转的脚本:C# 在android上旋转导致fps下降,c#,unity3d,C#,Unity3d,使用对撞机和精灵渲染器在游戏对象上使用transform.Rotate会导致游戏在Android上滞后。关于如何改进这一点有什么想法吗 我曾尝试禁用碰撞器,并将刚体设置为“运动学”,如另一篇文章中所述,但没有效果 以下是旋转对象的组件: 下面是用于旋转的脚本: using System.Collections; using System.Collections.Generic; using UnityEngine; public class ObjectMove : MonoBehaviou
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);
}
}
因此,我基本上手动将inpsector中的bool更改为true/false,以管理我希望游戏对象旋转的方向。有没有其他方法可以做到这一点而不会造成如此低的fps?在PC上,它也会下降,但并不明显。正如一些人在评论中提到的,是脚本的另一部分导致fps下降。我以为当时根本没有执行死刑,但显然是的。我的错。谢谢你的帮助 正如一些人在评论中提到的,是脚本的另一部分让fps下降了。我以为当时根本没有执行死刑,但显然是的。我的错。谢谢你的帮助 这是最简单的任务。它不应该制造问题。可能还有别的事。你确定是旋转吗?尝试分析你的游戏,看看是什么导致了延迟。您可以通过编辑器中的“窗口”菜单打开探查器。是的,我很确定这是旋转。当其他关卡(场景)以60 fps的速度运行时,当我用这个脚本添加更多的对象时,fps就变低了,大约有25-30 fps,其中有15个游戏对象。分析器显示“垃圾收集器”和“脚本”的频繁峰值在我添加这些游戏对象时也在上升。没有他们,它只显示一个大的尖峰,但根本没有那么频繁。旋转:如何添加这些对象?你也可以移除刚体并尝试一下吗?这是最简单的任务。它不应该制造问题。可能还有别的事。你确定是旋转吗?尝试分析你的游戏,看看是什么导致了延迟。您可以通过编辑器中的“窗口”菜单打开探查器。是的,我很确定这是旋转。当其他关卡(场景)以60 fps的速度运行时,当我用这个脚本添加更多的对象时,fps就变低了,大约有25-30 fps,其中有15个游戏对象。分析器显示“垃圾收集器”和“脚本”的频繁峰值在我添加这些游戏对象时也在上升。没有他们,它只显示一个大的尖峰,但根本没有那么频繁。旋转:如何添加这些对象?你也可以移除刚体并尝试一下吗?