Unity3d 在游戏视图中,摄像头的速度是完美的,但在手机中测试时,摄像头的速度要慢得多

Unity3d 在游戏视图中,摄像头的速度是完美的,但在手机中测试时,摄像头的速度要慢得多,unity3d,unity-editor,Unity3d,Unity Editor,在我的游戏中,相机的速度是我想要的完美 在手机中,当测试我的游戏时,相机的速度非常慢。我不知道如何解决这个问题,以及这个问题的根本原因是什么 这是我附加到主摄像机上的脚本 公共浮点翻译; 高速公共浮动//照相机的最高速度 公众参与因素//增加,乘以 公共bool ismoving=false; 专用浮点计时器=0f; 私有刚体2直径; 私有void Start() { dia=GetComponent(); } 私有void更新() { if(Input.GetMouseButtonDown(0

在我的游戏中,相机的速度是我想要的完美

在手机中,当测试我的游戏时,相机的速度非常慢。我不知道如何解决这个问题,以及这个问题的根本原因是什么

这是我附加到主摄像机上的脚本

公共浮点翻译;
高速公共浮动//照相机的最高速度
公众参与因素//增加,乘以
公共bool ismoving=false;
专用浮点计时器=0f;
私有刚体2直径;
私有void Start()
{
dia=GetComponent();
}
私有void更新()
{
if(Input.GetMouseButtonDown(0))
{
RaycastHit2D hit=Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition),Vector2.zero);
if(hit.collider!=null)
{
if(hit.collider.tag==“对话”)
{
摧毁(命中、碰撞、游戏对象);
ismoving=真;
}
}
}
如果(ismoving==true)
{
Updatemove();
}
}
public void Updatemove()
{
timer+=Time.deltaTime;
如果(计时器>1f&&转换<高速)
{//1秒钟过后。。。
计时器=0;//重置计时器
translation+=incfactor;//将速度提高0.5
}
transform.Translate(0,translation,0);
}

您正在
Update
中调用
Updatemove
,每帧调用一次

但是,通过一个固定值
translation
,它取决于帧而不是
translation
(较低的帧速率=>较少的调用=>较慢的移动)

您的对象将以
(平移*帧率)/秒的速度移动

为了消除
帧率
因素,并获得稳定的、与设备无关的
翻译/秒的速度
,您必须乘以
时间.deltaTime

所以应该是这样

public void Updatemove()
{   
timer+=Time.deltaTime;
如果(计时器>1f&&转换<高速)
{//1秒钟过后。。。
计时器=0;//重置计时器
translation+=incfactor;//将速度提高0.5
}
transform.Translate(0,translation*Time.deltaTime,0);
}


由于
Time.deltaTime
是一个非常小的值(1/framerate=0.017(对于60 fps)),您可能需要将
incfactor
或多或少地增加一个
60

的因数,您在
Update
中调用
Updatemove
,这是每帧调用的

但是,通过一个固定值
translation
,它取决于帧而不是
translation
(较低的帧速率=>较少的调用=>较慢的移动)

您的对象将以
(平移*帧率)/秒的速度移动

为了消除
帧率
因素,并获得稳定的、与设备无关的
翻译/秒的速度
,您必须乘以
时间.deltaTime

所以应该是这样

public void Updatemove()
{   
timer+=Time.deltaTime;
如果(计时器>1f&&转换<高速)
{//1秒钟过后。。。
计时器=0;//重置计时器
translation+=incfactor;//将速度提高0.5
}
transform.Translate(0,translation*Time.deltaTime,0);
}


因为
Time.deltaTime
是一个非常小的值(1/framerate=0.017(对于60 fps))您可能需要将您的
incfactor
或多或少增加
60

调用
Updatemove
的位置?这是完整的代码:调用
Updatemove
的位置?这是完整的代码:很乐意帮助:)如果此答案解决了您的问题,请随时将其标记为acceptedglad以帮助:)如果这个答案解决了您的问题,请随意将其标记为已接受